Make the dough: In a small saucepan melt the butter on medium-low. Add the milk to the butter, whisking to combine until the milk is warm. Set aside.
In the bowl of a stand mixer with bread hook attachment, combine 2 1/4 cups of flour, as well as the sugar, salt, and yeast (keep the yeast and salt away from each other at first). Give them a few pulses to stir together.
Make a well in the center and add the milk and butter as well as the beaten eggs. Mix on medium to bring the dough together, scraping down the sides and bottom of the bowl to get the flour incorporated. The dough will be fairly sticky but you can add up to 1/4 cup more flour if needed (I prefer a stickier dough).
Then knead on low for 3 minutes. The dough should smooth out and become less tacky. Form the dough into a ball and place into a lightly greased bowl. Cover and leave to rise in a warm place for 30 minutes.
Make the filling: Melt the butter and chocolate together until smooth (I do this in a small saucepan, but you can use the microwave if preferred). Stir in the powdered sugar, cocoa powder, salt, cinnamon, and vanilla. The mixture should form a spreadable paste. Set aside to cool.
Assemble & bake: After 30 minutes (or a bit more if you're not completely pressed for time), preheat the oven to 350°F. Grease a 9x13 Pyrex pan with butter or cooking spray and set aside.
Turn the risen dough out onto a liberally floured surface and use a rolling pin to roll the dough out into a 16” x 24” rectangle. The dough should be thin (it's too thick in my pics above, I was in too much of a hurry). Thinner dough means more swirls!
Spread the chocolate filling evenly over the rectangle, leaving a 1/2 inch border around the edges. Working from the long edge, roll the dough tightly into a log, gently pulling the dough away from you before doing the next roll (this keeps it tighter so there aren't gaps once baked). Once rolled, pinch the seam and then gently roll it on the counter to seal.
Using floss or a scraper tool (my preference), cut off the ends of the dough where there is not enough filling. Lightly score the dough into equal pieces---for me this is usually 9, but the recipe says it should make 12---and then cut the dough into buns.
Place the buns into your prepared pan, leaving a bit of space between because they will puff up when they bake. If you're not crazy pressed for time, I like to cover them lightly and let them rise for 15 minutes, but usually I have to bake them right away.
Bake for 30-35 minutes, rotating the pan halfway through. If the rolls start to get too brown, cover with tinfoil.
Make the glaze: While the rolls are baking, make the orange glaze. In a small mixing bowl, whisk together the powdered sugar (sift for no lumps), orange zest, orange juice, salt, and vanilla. Add more orange juice as needed to get the thickness right.
Once the buns are out, ideally let them rest for 10-15 minutes before glazing but if you're in a rush (again, I usually am), go ahead and drizzle or spread the glaze over the warm cinnamon buns and serve right away.
These are definitely best the day they're baked, but you can store them in an airtight container for a few days. They get a little dry so I warm up for a few seconds to soften before serving once they're a day old.