Make the bread: Add 2 and 1/2 cups of the flour, sugar, salt, and yeast in the bowl of an electric stand mixer fitted with the dough hook attachment. Use a wire whisk to whisk until well combined.
Add the warm milk and melted butter. Beat on low speed until the dough begins to come together.
With the mixer running on low speed, gradually add the remaining flour. Turn the speed up to medium and continue mixing until a soft dough forms, about 1 minute.
Increase speed to medium-high and beat until the dough pulls away from the sides of the bowl, about 6 minutes. The dough should be soft and no longer sticky to the touch.
Add the cherries and beat on low speed until they are well mixed in.
Turn it out onto a lightly floured surface and shape it into a ball. Place the dough into a lightly greased bowl, turning once to grease the top. Cover the bowl with plastic wrap and place it in a warm environment to rise for 1 hour or until doubled in size. Meanwhile, prepare the filling.
Make the filling: Add the chocolate and butter to a small heatproof bowl set over a pot of barely simmering water. Stir continuously until fully melted and smooth.
Remove from heat then stir in the confectioners' sugar and cocoa powder until fully incorporated. Set aside to cool until it's no longer runny but still soft enough to spread.
Shape the bread: Generously grease a 9x5-inch loaf pan with butter or nonstick spray. Set aside.
Gently punch the dough down and turn it out onto a lightly floured surface. Roll the dough out into an 8x13-inch rectangle. Spread the chocolate filling evenly over the surface, leaving a ½-inch border uncovered.
Starting with the longer side, roll the dough tightly into a. Place the log on its seam. Using a sharp knife, cut the log in half lengthwise.
With the cut-sides facing up, twist the halves over each other all the way down. Pinch the ends together. Carefully transfer the bread into the prepared loaf pan and tuck the ends underneath to fit.
Cover lightly with plastic wrap and place it in a warm environment to rise for 1 hour or until doubled in size.
Preheat the oven to 350°F.
Bake for 25-30 minutes or until bread is golden brown on top. Remove from the oven. Cool in the pan on a wire rack for 10 minutes. Transfer to a wire rack to cool completely.