In a large bowl, whisk together flour, sugar, yeast, and salt.
In a separate bowl, whisk together warm milk, softened butter, and egg. Add this wet mixture to the dry ingredients and mix until a shaggy dough forms.
Turn the dough out onto a lightly floured surface and knead for 8-10 minutes until smooth and elastic. Place the dough in a lightly oiled bowl, cover, and let rise in a warm place for 1-1.5 hours, or until doubled in size.
Prepare the Filling
In a medium bowl, beat together softened cream cheese and sugar until smooth. Stir in the egg yolk, vanilla extract, and lemon zest until well combined.
Assemble and Bake
Punch down the risen dough and divide it into 8 equal portions. Roll each portion into a circle about 6 inches in diameter.
Place about 2 tablespoons of cream cheese filling in the center of each dough circle. Fold the dough edges over the filling, pleating as needed to create a Danish shape. Ensure the filling is mostly enclosed.
Place the assembled danishes on a baking sheet lined with parchment paper. Cover loosely and let them rest for another 20-30 minutes.
Preheat your oven to 375°F (190°C). Brush the danishes with the egg wash.
Bake for 20-25 minutes, or until golden brown and puffed.
While the danishes are baking, whisk together powdered sugar and milk to make a glaze. Drizzle over the warm danishes once they are out of the oven.
Notes
Allow the danishes to cool slightly before serving. They are best enjoyed fresh.