Melt together the butter and water/milk until the butter is just melted and the milk isn't too hot (it will kill yeast if it's too hot for you to hold your finger in).
In a stand mixer with dough hooks, mix salt, sugar, yeast, and 2 ½ cups flour.
Add in milk/butter to flour mix and beat on medium speed for 2 minutes.
Add in 1 ½ cups flour, and knead until well combined. You want the dough to pull away from the sides of the bowl, NOT stick to it, and be "soft as a baby's bottom." If it's not there yet, add in flour a couple tablespoons at a time.
Once it's the right consistency, let machine knead for 3-5 minutes until bread hits windowpane stage.
Cover mixer bowl and let rise until doubled, about an hour.
Line a half sheet pan with parchment or a silicone mat.
When doubled, dump dough onto a lightly floured counter, divide in four parts. Then cut each quarter into 6 equal pieces.
Shape each bun like a mini loaf. Flatten, roll up, tuck ends under. Place on the baking sheet and flatten down with your hand.
Cover the sheet with a damp towel during shaping and then keep covered to proof until doubled.
Before the dough is quite doubled, preheat the oven to 350F, with the rack in the middle. NOT CONVECTION. Convection setting actually inhibits your bread from springing up well when baked!
You can whisk the egg and water and brush overtop of the buns once doubled, and add seeds if you'd like. Otherwise, no need for an egg wash - it's just to "glue down" your seeds.
Slide the sheet into the oven and bake for 15-20 minutes, rotating halfway through. Watch for them to be gently browned on top.