Combine the milk, eggs, sugar, yeast, and butter in a large bowl. Add the flour and salt on top of the wet ingredients and mix by hand until you have a smooth, wet, even dough.
Cover the dough lightly and let it rest for 20-30 minutes.
Lightly flour your work surface and turn the dough out onto it. Knead the dough by pushing forward into it with the heel of your hand and then folding it back toward you, giving it a quarter turn each fold. Continue until the dough is noticeably tighter and smoother, 5-10 minutes.
Place the dough in a large bowl, cover lightly, and let rise for 1.5-2 hours, until nearly doubled in size.
While the dough is rising, mix your filling. Combine all filling ingredients with a spatula or hand mixer until fully combined.
Line a 9x13 baking pan with cooking spray or parchment paper.
Lightly flour your work surface. Turn the dough onto it and roll into a rectangle about 24x8 inches, with a long side closest to you. Leaving about a 1-inch margin on the long side farthest from you, spread the filling in an even layer.
Gently roll the dough, pushing the edge of the dough away from you and rolling it up. Seal the seam by using the blank strip you left and pressing it together, leaving the seam side on the bottom.
Cut the roll into 12 2-inch rolls, then place evenly in the 9x13 pan. Leave at room temperature for 1.5-2 hours, until they are puffy and full of air.
When pressed with a finger, the dough should leave an indent, rather than springing back up. While the dough is proofing, preheat your oven to 375°.
Once they have risen, bake for 35-40 minutes, until browned on top and no longer gooey in the middle.
While they bake, make the frosting. Beat the cream cheese until completely smooth, 3-5 minutes. Slowly add in cream, beating until incorporated.
Add sifted powdered sugar and vanilla, beating until no lumps remain. Let rolls cool for 30 minutes, then top with cream cheese icing or flaky sea salt.