First things first, the dough recipe you can find HERE along with a video tutorial to make the dough.
Once you've made the dough, you will bulk ferment (1st proof) as you would in the recipe for honey buns so that the dough is double in size.
For the filling you'll need:
4 ounces (8 tablespoons or 1 stick) unsalted butter, very soft
Once doubled, punch down the dough and press the dough onto a parchment lined sheet pan (make sure you've liberally sprayed the parchment with non-stick cooking spray or have greased with butter). Press into a rough rectangle and cover completely in plastic wrap. Cool the dough by either placing in the fridge for 1-2 hours OR in the freezer for 20-30 minutes. This step of cooling the dough allows the butter to "seize" and makes the dough much easier to handle.
On a flour dusted surface, roll the dough out to between 1/4" and 1/8" or a 18" x 12" rectangle.
Spread the butter over the dough and then sprinkle the sugar on top of the butter. Press the sugar mixture down to adhere and then roll the dough from the long side into a cylinder. Every now and again, pull back on the dough before your roll to tighten. Once you've managed to create a cylinder, stretch the cylinder at the middle if it's thicker at the center.
Cut the roll into 12 even pieces (about 1 1/2" to 2" thick) and place on a parchment lined sheet pan. Cover with plastic wrap and proof until doubled in size, about 45 minutes to an hour.
While proofing, preheat the oven to 375ºF. My preference is for softer buns, so I cover the top loosely with foil. Bake covered for 30-35 minutes, remove the foil, and bake for 10 minutes more.
Allow to cool 15-20 minutes before slathering on the icing.
For the icing you'll need:
In a large mixing bowl, add the cream cheese and butter. Using a wooden spoon, stir together until smooth. Add the confectioner's sugar and stir until combined and smooth. Add the vanilla and the milk a small bit at a time, stirring between each addition, until a spreadable icing forms. Slather all over those buns. Make extra if you're feeling it. Transfer to a serving platter while still a bit warm so you get every bit of the gooey stuff underneath.