Warm the milk and water in a small saucepan over low heat to about 100°F. If you don't have a thermometer, the milk should be warm enough you can hold your fingertip in it. If the liquid is too warm it will kill the yeast.
Remove the saucepan from heat and sprinkle the liquid with the yeast and a pinch of the sugar from the 2 tablespoons. Do not stir. Let the mixture stand for 5 minutes.
Whisk together the butter and egg yolk, then whisk into the milk and yeast mixture. Set aside.
In the standing mixer, combine the flour, sugar and salt. Stir to combine. Using the bread hook, on low speed slowly add in the wet ingredients. Once incorporated, increase the speed to medium low (#4 on a Kitchenaid mixer) for 2 full minutes. The dough will be tacky and may require scraping from the bottom of the bowl, but should pull away from the sides.
Transfer the dough to a large greased bowl. Vegetable shortening or unsalted butter is perfect for lightly greasing the bowl.
Cover the bowl with plastic wrap. Place in a preheated 200°F oven, with the oven off and the door slightly cracked. Let rise until double in size, 45 minutes to 1 hour, then transfer to the fridge to proof overnight (or for a minimum of 4 hours.)
After resting, transfer the dough to a lightly floured surface and roll into a rectangle with ¼" thickness.
In a small bowl, combine the melted butter, garlic and parsley paste. Brush the dough evenly with he mixture, using all of it. Sprinkle with mozzarella and parmesan cheese.
Roll the dough to form one long cylinder, brushing the very edge with melted butter or water to seal it. Cut the rolls 2 to 2 ½ inches thick and place in a greased 9x13 baking dish.
Preheat the oven to 350°F with the baking dish on the stove top, covered with a linen towel. Let rise until double in size, about 30 minutes. Bake 25 to 30 minutes until golden brown.
Serve right away or if serving later, reheat until warm before serving. Optional: serve alongside a bowl of your favorite pasta sauce for dipping.