In the bowl of a stand mixer, whisk together flour, sugar, yeast, and salt. Because I use instant yeast, there’s no need to proof it in warm water first.
Add the warm milk and two eggs. Begin to knead on low.
Using the dough hook, knead the dough on low. Once a shaggy dough has been formed, begin to add pieces of butter, one at a time.
Continue to knead until soft and smooth, about 10-15 minutes. If your dough is still too sticky, add more flour, 1 Tbsp at a time, until it’s tacky but not sticky. You should only need 1-2 more tbsp of flour, maximum. As you knead the dough, it should become less sticky. You don’t want to add too much extra flour, as the dough will become too dry and dense.
Transfer the dough to a lightly oiled bowl and let rise until doubled in size, about 45 minutes to 1 hour.
Line a baking sheet with parchment and set aside.
Punch down the dough and divide into two equal portions. Work with one portion at a time, and cover the rest. On a lightly floured surface, roll the dough out into a 11x14 inch rectangle. It's important to make sure you don't roll the dough too thin. If you can't get it quite to those dimensions, don't worry much.
Spread the poppy seed mixture evenly over the dough, leaving a 1-inch border around all edges.
Starting at one of the longest sides, begin rolling the dough into a long log, like you would for a jellyroll or cinnamon rolls. Pinch the seams to secure the roll and pinch the ends and gently tuck under the roll and pinch to secure.
Repeat with second ball of dough.
Transfer the rolls to the parchment lined baking sheet, making sure they are seam-side down. Cover and let rise for about 45 minutes, or until doubled.
Preheat oven to 350°F.
Brush the poppyseed roll with egg wash.
Bake for 35-40 minutes, until dark golden brown.
Allow to cool completely. Store in an airtight container