To make overnight cinnamon rolls, assemble flour, butter, sugar, yeast, eggs and whole milk for the dough.
Mix eggs, butter, flour, and salt using a stand mixer with a dough hook attachment.
Add the yeast mixture into the bowl. Mix on low for 2 minutes, then on medium until smooth and elastic, about 6 minutes.
Cover the bowl of overnight cinnamon rolls dough with a damp cloth and let it rise in a warm spot about 1-2 hours.
Prepare brown sugar, ground cinnamon, ground ginger, allspice and unsalted butter.
Prepare the overnight cinnamon rolls filling by combining all ingredients in a bowl. Set aside.
After the initial rise, transfer the dough onto a floured surface. Press gently to eliminate air bubbles, then roll it into a rectangle.
Spread the filling gently and evenly over the cinnamon roll dough using your fingers.
Roll the dough up tightly from the long side to make a long spiral.
Slice the cinnamon rolls into 12 even spirals using a serrated knife. Gently reshape if necessary, as the dough will be soft.
Place rolls evenly in a baking dish, cover, and let rise until doubled. For overnight cinnamon rolls, refrigerate the formed rolls for baking tomorrow.
Bake the cinnamon rolls until they're golden brown, approximately 30 minutes.
Prepare cream cheese, confectioner's sugar, unsalted butter, vanilla, and milk.
While the overnight cinnamon rolls bake, mix frosting ingredients in a stand mixer until smooth. Add milk gradually for the best consistency.
When the cinnamon rolls are baked, spread cream cheese frosting over the hot rolls.
Overnight cinnamon rolls with cream cheese frosting are at their best on the day of baking. You can gently warm in the oven to refresh.