Add the milk, yeast, honey and eggs to a bowl of stand mixer, whisking to break up the eggs. Add in the vanilla extract, sugar, flour and salt.
With the dough hook attachment, mix the ingredients until the flour is incorporated, about 4-5 minutes. If dough is too sticky, add flour 1 tablespoon at a time but it's better to be on the sticky side.
With the mixer on low, add half of the butter, mixing until incorporated, about 3 minutes. Scrape down the sides and add the remaining butter. Knead for an additional 3-4 minutes or until the butter is incorporated.
Scrape down the sides and knead for another 5-10 minutes or until the dough is no longer sticking to the bottom of the bowl and will be soft to touch, but not stick to your fingertips.
Grease a large bowl and add the dough to the bowl. Cover the bowl with plastic wrap and let sit for 1 hour or until the dough has doubled in size.
While dough is resting, make the chocolate filling. Beat the butter and sugar in a stand mixer until light and creamy, about 2-3 minutes. Add in the cocoa powder, vanilla extract and salt and beat until incorporated.
Lightly dust your work surface with some flour. Remove dough from mixing bowl and punch down. Roll the dough to about an 8x14 inch rectangle. Spread the chocolate filling evenly over the dough.
Starting with the short edge close to you, roll the dough into a log, trying to keep tight throughout.
Butter and dust an 8.5 x 4 inch loaf pan and transfer the dough, seam side down, to the pan. Cover with plastic wrap or a damp tea towel and let rise for another hour. The dough should just about reach the top of the pan at this point.
Preheat oven to 350°F. Brush the bread with some egg wash and sprinkle with coarse sugar if desired. Bake for 30-35 minutes or until golden brown on top and the middle is done.