In the bowl of a stand mixer add bread flour, all purpose flour, sugar, salt, yeast and milk.
Using a dough hook, mix on low until combined. Increase speed to high and knead the dough for about 12-15 minutes until smooth and the dough holds together when pulled out thin. You may need to hold onto the mixer to stabilize it!
Next add in the butter. Turn mixer on low to begin incorporating, then increase speed to high. Mix on high for another 8-10 minutes until a smooth dough is formed and the sides of the mixer bowl are clean. Pull the dough out thin to check strength. You want to be able to pull the dough thin enough to almost see through it without the dough tearing (window pane method).
Add in seeds and mix on low to incorporate into the dough.
Transfer dough to an oiled bowl, cover and let rise 2 hours. The dough should be almost doubled in size.
Place dough out onto a clean surface (not dusted with flour) and divide the dough into 12 equal pieces (for perfectly even rolls weigh them out to 60g each).
Form each piece into buns by cupping your hand over the dough and using a quick circular motion to form a tight ball.
Place buns into a buttered 8x11 inch baking dish, leaving a bit of space in between each roll.*
Cover and let rise another 45 minutes to 1 hour until the buns have puffed up and nearly doubled in size.
While buns rise for the second time, whisk egg and water to create an egg wash. Preheat oven to 350ºF.
Brush buns with egg wash all over and sprinkle with a bit of poppy, sesame and flax seeds.
Bake for 30-45 minutes until nicely golden and baked through.
Brush with melted butter and sprinkle with flake salt. Enjoy warm.
Notes
*You can make this up to step 8 and then cover and refrigerate the rolls overnight. Then day of, pull them out and let rise until doubled in size. It will take longer as they will be cold. Most likely about 2-3 hours. Then just bake as directed above.