In a large mixing bowl, combine the warm whole milk and 4 tablespoons of melted unsalted butter. Sprinkle the active dry yeast over the top, followed by the granulated sugar and salt. Allow this mixture to sit for about 5-10 minutes until it becomes frothy.
Gradually add the all-purpose flour, starting with 4 cups and adjusting as needed. Mix with a wooden spoon or a dough whisk until the dough begins to come together.
Turn the dough out onto a floured surface and knead for about 8-10 minutes until smooth and elastic.
Place the kneaded dough in a lightly greased bowl, cover it, and let it rise in a warm place until it doubles in size, about 1 to 1.5 hours.
Once risen, punch the dough down, divide it into 12 equal pieces, and shape each piece into a smooth ball.
Arrange the dough balls in a greased baking sheet, cover again, and let them rise for another 30-45 minutes.
During the second rise, preheat your oven to 350F (175C).
Brush the tops with melted butter, sprinkle with kosher salt, and bake for 20-25 minutes until golden brown.
Remove from oven and let cool for a few minutes before serving warm.