In the bowl of a stand mixer fitted with a hook attachment, stir to combine milk, yeast, and sugar.
Add flour and salt, and knead on low to medium speed until a dough forms, 2–3 minutes.
Kneading on low to medium speed, add a few cubes of butter at a time, waiting until each round is absorbed by the dough before adding more, until all butter has been added.
Continue to knead for 5–6 minutes, until the dough is smooth.
Remove the bowl from the mixer, cover with plastic wrap or a tea towel, and set aside to rise until doubled in size, 1–1 ½ hours.
Spray to coat a bundt or tube pan with baking (or cooking) spray.
Transfer the dough to a lightly floured surface.
Roll out into a 12-inch square.
Cut the dough into 16 (somewhat even) squares.
Stack squares of dough into the prepared pan.
Cover and set aside to rise until the dough is puffed and marshmallowy, 45 minutes to 1 hour.
While the dough rises, preheat the oven to 375 F.
Bake for 25–30 minutes, until golden brown.
Let cool in the pan on a wire rack for 10 minutes, then turn out onto the rack and let stand until cool enough to handle.
Return the bread to the pan, then gently pull the top of each portion of bread apart to make it easy to fill.
Stuff each portion of bread evenly with bacon and cheese.
Sprinkle evenly with green onion and black pepper. Sprinkle on cayenne pepper, if desired.
Drizzle the top of the bread evenly with melted butter.
Cover with foil and bake for 10 minutes, then remove the foil and bake for an additional 10 minutes.
Transfer to a serving platter and serve immediately. Garnish with flaky sea salt while hot, if desired.