Dissolve yeast and sugar in warm water in the bowl of a stand mixer. Let sit for 5 minutes until it starts to become foamy.
Add in salt, egg and 3 cups of the flour. Using a paddle attachment, mix on low until ingredients are just combined. Switch to dough hook attachment and on low, slowly add the remaining cup of flour. You may or may not need the whole cup of flour and may need a little bit more. Once the dough pulls away from the sides of the bowl and no longer is sticky, then you can stop adding flour.
Continue to knead the dough on low for about 5 minutes, until the dough becomes smooth and elastic. Remove dough from the mixing bowl and place in a lightly greased bowl. Cover the bowl with a towel and let rise in a warm spot for about 1 hour, or until the dough has doubled in size.
Once the dough has doubled in size, punch down the dough and remove from the bowl. Place the dough on a lightly floured surface and roll out into a large rectangle that is about 1/2 - 1 inch in thickness.
Spread softened butter over the entire rectangle and then sprinkle brown sugar and cinnamon over the top of the butter.
Starting with the long side of the rectangle, slowly roll up the dough as tightly as possible until the dough is completely rolled. Cut the rolled dough into 12 equal pieces.
Place rolls in a greased 9x13" baking pan and cover with plastic wrap. Place in the fridge overnight to rise again.
The next morning, make sure to remove the rolls from the fridge and remove the plastic wrap at least 30 minutes before baking. Meanwhile, preheat the oven to 350 degrees.
Bake cinnamon rolls for 25-30 minutes until golden brown. Let rolls cool at least 15 minutes before frosting.
Cream Cheese Frosting
Combine softened butter and whipped cream cheese in a medium-sized bowl and whip with a hand mixer to combine.
Add in powdered sugar, half and half, vanilla and salt and combine on low speed until all ingredients are combined. Spread frosting on slightly cooled cinnamon rolls.