TIP: If making the dough the night before, then you'll want to use active dry yeast. If making same day, you can use either.
To Make the Dough: In the bowl of a stand mixer fitted with the hook attachment, combine the whole milk heated just until warm, yeast, and sugar. Whisk briefly, then set aside to bloom 5-10 minutes.
Add the salt, egg, and half of the flour. Mix until flour is absorbed.
Add the remaining flour one cup at a time, kneading on LOW until flour is absorbed.
While kneading on LOW speed, gradually add the butter one tablespoon at a time. Knead 2-3 minutes, until a very soft and pliable dough.
Transfer the dough to a bowl greased with olive oil, cover with plastic wrap, and set aside in a warm environment to rise until doubled in size.
If making the night before, transfer the bowl to the fridge for up to 12 hours. The next morning, let the dough rest on the counter for 30 minutes prior to rolling out. If making same day, move on to the next step.
Roll out the dough to a 1" thick rectangle.
To Add the Filling: Spread the softened butter over the surface of the rectangle. In a small bowl, combine the sugars, ground cinnamon, and salt. Mix well, then evenly spread over the butter. Press down with your hands to ensure it sticks.
To Shape the Cinnamon Rolls: Roll up the dough tightly, then slice into 3-4 equally sized pieces. Place 3" apart on a large, rimmed baking sheet lined with parchment paper. Gently press down on each log, so they're less than 4" tall. Cover with plastic wrap and let rise 30-45 minutes.
To Bake: Preheat oven to 375F.
Drizzle 1-2 tablespoon of heavy cream in the center of each cinnamon roll. Bake for 10 minutes at 375F, then reduce heat to 350F to bake another 15-20 minutes, until deeply golden on top.
To Make the Frosting: Combine the softened butter and cream cheese in the bowl of a stand mixer fitted with the paddle attachment. Beat for 2 minutes, until smooth.
Add the powdered sugar 1 cup at a time, beating until smooth. Add the heavy cream to help make the frosting silky smooth. Fold in the vanilla and salt.
Once the cinnamon rolls have cooled 10 minutes, generous slather the cream cheese frosting all over the tops. Let sit another 5-10 minutes, then enjoy warm!
Store leftover cinnamon rolls on the counter in an airtight container for up to 2-3 days.