Pour the milk, yeast, 1 egg and 1 cup flour into the bowl of an electric mixer. Mix to combine, then sprinkle over another 1 cup flour. Let rise for 40 minutes.
Lightly beat the 4 remaining eggs, then add these to the dough along with the sugar, salt and 1 cup flour. Place these into a mixer fitted with a dough hook and mix on low speed for 2 minutes. Add 1/2 cup flour and mix on medium speed for 15 minutes.
Reduce the speed to medium-low and gradually add 1 1/2 sticks of butter. Increase the speed to medium-high and beat for 1 minute, then reduce the speed to medium and beat for 5 minutes.
Place the dough in a large, buttered bowl and cover with plastic wrap. Let rise for 2 1/2 hours.
Deflate the dough, then replace with plastic wrap and place the bowl in the fridge. Let sit for 4-6 hours, or up to overnight.
Divide the dough in half. Place one ball of dough on a floured surface and roll the dough into an 11x13-inch rectangle. Evenly disperse half of the remaining butter onto the surface of the dough, then fold the dough into thirds, like a letter.
Roll the dough out into an 11x13-inch rectangle, then fold into thirds again. Wrap tightly in plastic wrap and place in the fridge for 30 minutes. Repeat with the remaining dough.
Combine the sugar and cinnamon in a bowl and set aside.
Place one piece of dough on a floured surface and roll into an 11x13-inch rectangle. Brush the surface with the beaten egg. Sprinkle half of the cinnamon sugar onto the dough, leaving the top quarter of the dough bare. Roll the dough into a log, starting with the cinnamon sugar end and ending with the bare end. Wrap in plastic wrap and place in the freezer for 45 minutes. Repeat with the remaining dough. (Note: if you are making this for a party or a brunch, you can complete the previous steps a day in advance and start from Step 10 on the day you are serving the cake.
Divide the 1 1/2 sticks butter between a 9-inch, 7-inch and 3 1/2-inch round baking tin. (I used casserole dishes and they worked great, so no need to stress if you don't have baking tins in these sizes.)
Unwrap the logs and slice them into 1 1/2-inch thick buns, making 14 buns. Place 7 buns in the 9-inch tin, 6 buns in the 7-inch tin and 1 bun in the 3 1/2-inch tin. Let the buns rise at room temperature for 1 1/2 hours.
Bake the buns at 350F for 35-40 minutes, until golden brown, removing the bun in the smallest tin after 20 minutes. Place a baking sheet lined with parchment paper on the rack under the cinnamon buns to catch any drips.
As soon as the cinnamon buns are finished baking, flip them out onto a wire rack. Excess butter may drip out, so make sure to place some paper towel under the rack. Turn the buns right side up, and set slightly cool.
To make the icing, place the cream cheese in a bowl and beat with an electric mixer for 2 minutes, until the cream cheese is fluffy. Add the confectioner's sugar and milk and beat until combined.
Drizzle the icing on top of each layer, then stack them to build a cake.