Line a baking sheet with parchment paper.
Combine the warm water, warm milk, sugar and yeast in the bowl of a stand mixer. Stir gently to combine. Let stand for 5 minutes, until the yeast starts to foam and/or bubble.
Add the salt, egg and both flours to the bowl. Use a stand mixer fitted with the paddle attachment to mix on low speed until combined. Mix in the butter pieces on low speed.
Switch to the dough hook attachment on the mixer and knead the dough on low speed for 8-12 minutes, until the dough is smooth. Partway through the kneading time, press your finger to the dough to check how sticky it is - it should be soft and slightly sticky. If the dough is very sticky, you can add more all-purpose flour, 1-2 tablespoons at a time. Avoid adding too much flour, because this will make the buns more dense instead of light and fluffy. The dough should stick to your finger a little bit when you touch it but should not be so sticky that it won't be workable when you shape the buns.
Transfer the dough to a floured work surface and knead a few times with your hands to form it into a ball. Cut the dough into 8 pieces. Shape each piece into a ball and place on the prepared baking sheet.
Loosely cover the dough balls with a clean kitchen towel and let rest for 15 minutes. (You can increase the rise time to 30 minutes if you have time.)
Meanwhile, preheat oven to 400° F.
Combine the egg and 1 tablespoon milk in a small bowl, stirring with a fork. Remove the towel and brush the tops of the buns with the egg wash. Bake hamburger buns in the oven for 13-15 minutes, until tops are golden.
If desired, you can brush the tops of the buns with a little melted butter when they're warm from the oven.