In a large bowl or the bowl of a stand mixer, combine the warm milk, sugar, and active dry yeast. Stir gently and let it sit for about 5 to 10 minutes until the mixture becomes foamy. This indicates the yeast is alive and active.
Add 4 tablespoons of the melted butter, the salt, and 2 cups of the flour to the yeast mixture. Using a dough hook or a sturdy spoon, mix until a shaggy dough forms. Gradually add the remaining flour, half a cup at a time, until the dough begins to pull away from the sides of the bowl.
Knead the dough for about 5 to 7 minutes using a stand mixer on medium-low speed, or 10 minutes by hand on a lightly floured surface. The dough should be smooth, elastic, and slightly tacky but not sticky. This process develops the gluten needed for a soft texture.
Place the dough in a lightly oiled bowl and cover it with a clean kitchen towel or plastic wrap. Set it in a warm, draft-free spot and let it rise for about 60 to 90 minutes, or until it has doubled in size.
Punch down the risen dough to release the air. Turn it out onto a workspace and divide it into 12 equal pieces. Roll each piece into a smooth ball. Place the balls into a greased 9×13 inch baking dish, spacing them evenly.
Cover the baking dish and let the rolls rise again for about 30 to 45 minutes. They should look puffy and be touching each other. During this time, preheat your oven to 375°F (190°C).
Whisk the egg with a tablespoon of water and brush the tops of the rolls lightly. Bake for 18 to 22 minutes, or until the tops are deeply golden brown. While they bake, mix the remaining 2 tablespoons of melted butter with the minced garlic and chopped rosemary.
Remove the rolls from the oven and immediately brush them with the garlic rosemary butter mixture. Sprinkle with flaky sea salt if desired. Let them cool slightly in the pan before serving warm.