Warm the milk to about 110°F (43°C). Pour it into the bowl of a stand mixer fitted with the dough hook. Sprinkle in the yeast and let it sit for 5 minutes until slightly foamy.
Add honey, 1 egg, 2½ cups of the flour, and salt. Mix on low speed for 5 minutes. Gradually add the remaining ½ cup flour, 1 tablespoon at a time, until the dough pulls away from the bowl and is soft but not too sticky.
Add the softened butter and mix for another 3 minutes until fully incorporated and the dough is smooth and elastic.
Remove the dough hook, cover the bowl with a damp towel or plastic wrap, and let the dough rise in a warm spot for about 1 hour or until doubled in size.
Punch down the dough and turn it out onto a floured surface. Press into a large rectangle and divide into 8 equal portions. Roll each portion into a smooth ball by cupping your hand over it and moving in a circular motion.
Place the dough balls on a greased or parchment-lined baking sheet, spaced evenly apart. Cover loosely and let rise for another 30 minutes until puffy.
Whisk 1 egg with 1 tablespoon of water. Gently brush the tops of the risen buns with the egg wash. Sprinkle sesame seeds on top if desired.
Preheat oven to 350°F (175°C). Bake for 18–20 minutes, or until buns are golden brown and sound hollow when tapped on the bottom.
Transfer the buns to a wire rack and allow them to cool completely before slicing and using.