Combine the flour, cocoa powder, sugar, yeast, and salt.
Add the warm milk, eggs, and vanilla and mix until a rough dough forms.
Gradually knead in the softened butter and continue kneading for 8–10 minutes until soft and elastic.
Cover and allow the dough to rise for 60–90 minutes or until roughly doubled.
Place the chopped chocolate in a bowl. Heat the heavy cream until steaming and pour it over the chocolate. Wait 2 minutes, then stir until smooth. Add the butter and powdered sugar and allow the filling to cool.
Divide the risen dough into 8 portions.
Roll each portion into a rectangle, spread with a thin layer of chocolate filling, and roll into a log.
Slice each log lengthwise and twist the exposed layers together to create a braid. Tuck the ends underneath.
Arrange on parchment-lined baking sheets, cover loosely, and rise for 30–40 minutes.
Preheat the oven to 350°F (175°C).
Whisk the egg with 1 tablespoon milk and lightly brush the buns.
Bake for 18–22 minutes until set and baked through.
Cool for 10–15 minutes before serving. Dust lightly with powdered sugar if desired.