For the Dough:
- Combine Dry Ingredients: In the bowl of a stand mixer, mix the flour, yeast, salt, and sugar.
- Mix Wet Ingredients: In a separate bowl, whisk the milk, melted butter, and eggs together.
- Form the Dough: Gradually add the wet ingredients to the dry ingredients on slow speed. Mix until the dough starts to come together (about 2 minutes).
- Knead the Dough: Increase the speed to medium and knead the dough until smooth and slightly wet. The dough should pull away from the sides of the bowl.
- Let it Proof: Transfer the dough to a greased bowl, cover, and let rise for 1.5 to 2 hours, until it doubles in size.
- Shape the Dough: Punch down the dough, divide it into 12 pieces, and shape each piece into a smooth ball.
- Second Rise: Place the dough balls on a baking sheet, cover with plastic wrap, and let rise for another 1.5 to 2 hours.
For the Cream Cheese Filling:
- Mix Filling Ingredients: In the stand mixer bowl, combine cream cheese, sugar, and flour. Mix on low speed until smooth.
- Add Milk: Gradually add the milk and mix until well combined. Set aside.
For the Streusel Topping:
- Prepare Streusel: In a small bowl, rub together flour, sugar, and cold butter until it resembles wet sand. Set aside.
For the Egg Wash:
- Whisk Egg Wash: In a small bowl, whisk together the beaten egg and milk.
For Baking:
- Preheat Oven: Heat your oven to 350°F (175°C).
- Form Kolache: Using a greased 1/4 cup measuring cup, press the dough balls to form a deep indent.
- Fill Kolache: Spoon the cream cheese filling into the indent, and brush the edges with the egg wash. Sprinkle streusel on top.
- Bake: Bake for 20-25 minutes, rotating the pan halfway through, until the Kolache are golden brown.
- Cool and Serve: Let cool for 5-10 minutes before serving.