Preheat the oven to 375°F (190°C). In a stand mixer, combine warm milk, 45g sugar, and yeast. Let sit for 10 minutes until foamy.
Add flour, 45g sugar, and salt. Knead with the dough hook attachment for 10–15 minutes. Mix in butter and knead for another 5–7 minutes until a soft, slightly tacky dough forms. Place the dough in a greased bowl, cover, and let rise for 1 hour or until doubled in size.
For the filling, combine softened butter, brown sugar, and cinnamon in a bowl. Mix until it forms a thick paste, then set aside.
Roll out the dough on a lightly floured surface into a 20×12-inch (45x30cm) rectangle. Spread the cinnamon sugar filling evenly over the dough.
Roll the dough tightly into a log and cut into 12 equal pieces.
Spread the cinnamon sugar filling all the way to the edges for even flavor. Roll tightly from one long edge to the other to create a neat log.
Use unflavored dental floss or a serrated knife to cut the log into even pieces. Dental floss works especially well for clean cuts without squishing the dough, ensuring uniform rolls.
Place the rolls in a greased baking pan 13x9-inch (33x23 cm), leaving a little space between them. Cover and let them proof for 45 minutes until they puff up.
Pour whipping cream over the rolls for added richness and bake for 25–30 minutes, or until golden brown.
While the rolls are baking, make the cream cheese icing by combining cream cheese, powdered sugar, milk (or cream), and vanilla extract in a bowl. Whisk until smooth.
Spread the cream cheese icing over the rolls while they’re still warm to create a gooey, melty topping, or wait until they cool for a thicker layer.
Store leftover frosted or unfrosted rolls tightly covered at room temperature for up to 2 days, or in the refrigerator for up to 5 days.