Proof the yeast: Combine warmed milk, a spoonful of the granulated sugar and the yeast in a bowl. Let it sit 5-10 minutes until foamy on top, which confirms the yeast is active.
Mix the dough: Whisk eggs, remaining sugar, softened butter and salt into the yeast mixture. Add flour one cup at a time, stirring until a soft dough forms.
Knead until smooth: Turn the dough onto a floured surface and knead for about 6-8 minutes until smooth and slightly tacky. Add a bit more flour only if it sticks to your hands.
First rise: Place the dough in a greased bowl, cover, and let rise in a warm spot until doubled in size, about 1 hour.
Make the filling: Stir together brown sugar and cinnamon in a small bowl. Set aside with the melted butter ready for spreading.
Roll out the dough: Punch down the risen dough and roll it into a 16x12-inch rectangle on a floured surface. Spread the melted butter evenly over the surface, leaving a small border.
Add the filling: Sprinkle the brown sugar and cinnamon mixture evenly over the buttered dough, pressing gently so it sticks.
Roll and slice: Starting from the long edge, roll the dough tightly into a log. Slice into 12 even pieces using a sharp knife or unflavored floss.
Second rise: Arrange the rolls cut side up in a greased 9x13-inch baking dish. Cover and let rise until puffy, about 30-45 minutes.
Bake the rolls: Bake at 350°F for 20-25 minutes, until the tops are light golden and the centers spring back when pressed.
Make the frosting: Beat cream cheese and butter until smooth, then add powdered sugar, vanilla and salt. Beat until fluffy and lump-free.
Frost while warm: Spread the frosting over the rolls while they're still warm, so it melts into the swirls. Serve right away for the gooiest texture.