Place 3 cups of the flour into the bowl of a stand mixer along with the yeast, sugar, salt, warm milk, softened butter, and egg. Using the dough hook, set the mixer to its lowest setting and mix just until the flour is moistened, pausing to scrape the bowl as needed.
Increase the speed to medium and beat the mixture for 2 minutes. Gradually add another ½ cup of flour, mix until integrated, then repeat with an additional ½ cup. Continue mixing at medium speed until the dough begins to form a cohesive ball.
Incorporate more flour, a small amount at a time, until the dough is supple, slightly tacky, and begins to pull cleanly from the sides of the bowl.
Lightly grease a bowl and transfer the dough into it. Cover with a towel or plastic wrap and let it rise at room temperature for 30 minutes.
Once risen, gently press down the dough to release air. Divide into 24 equal portions, shaping each piece into a smooth ball. For consistency, rolls can be weighed—approximately 2 ounces each.
Arrange the rolls evenly on a greased quarter-sheet pan or a 9x13-inch baking dish. Cover again and allow them to rise for an additional 30 minutes at room temperature.
Meanwhile, preheat the oven to 375°F. Bake the rolls for 12 to 15 minutes until the tops are golden brown and the interiors are thoroughly cooked. If needed, cover loosely with foil to prevent over-browning.
Remove from the oven and brush the hot rolls with melted butter. Serve immediately, or let cool and store in an airtight bag for up to three days.