In a large bowl, stir together the warm milk, sugar, and yeast. Let sit 5–10 minutes until foamy.
Stir in the egg, melted butter, and salt until combined.
Add the flour gradually, mixing until a soft dough forms. Knead 8–10 minutes by hand or 6–8 minutes with a dough hook, until smooth and elastic.
Place the dough in a greased bowl, cover, and let rise in a warm spot about 1 hour, until doubled.
Punch down and divide into 12 equal pieces (about 60g each). Roll into smooth balls and arrange in a greased 9x13-inch pan or 9-inch round cake pan, barely touching.
Cover and let rise 30–45 minutes, until puffy.
Oven: Preheat to 375°F. Bake 15–18 minutes, until deep golden brown and 190°F in the center.
Air fryer: Preheat to 320°F. Cook 8–10 minutes in a greased pan that fits your basket, checking at 8 minutes. Tent with foil if the tops brown early.
Brush generously with melted butter immediately, then again 5 minutes later. Serve warm.