In the bowl of a stand mixer, combine the flour, powdered sugar, yeast, and salt. Add the egg yolks, melted butter, and milk. Stir with a wooden spoon to combine. Attach the dough hook and knead on medium speed for about 5 minutes, or until the dough becomes smooth and elastic.
Transfer the dough to a lightly greased bowl. Cover tightly with plastic wrap (poke a small hole for ventilation) and place a towel over the bowl. Let it rise in a warm place until doubled in volume, about 1 hour.
Punch down the dough to release gas. Shape it into a log and divide into 12 equal pieces. Roll each piece into a smooth ball. Arrange the dough balls on a parchment-lined half sheet pan, spaced slightly apart. Gently flatten each ball with your fingers.
Using the flat bottom of a glass (about 2.5 inches wide) or your knuckles, press down the center of each dough ball to create a well for the filling. Cover with a towel and let rise again until doubled in size, about 30–40 minutes.
Meanwhile, prepare the cheese filling by mixing all filling ingredients in a bowl. Set aside.
To loosen the jam, mix it with water and microwave for 7–10 seconds. Set aside.
For the streusel topping, combine flour, sugar, and salt in a small bowl. Add melted butter and mix with your fingers until fine crumbs form. Set aside.
Preheat the oven to 375°F (190°C). Once the dough has finished its second rise, gently press down the center again with the glass to deepen the indentations (do not deflate the dough). Brush the surface lightly with egg wash.
Fill each kolache with about 1 tablespoon of cheese filling and 2 teaspoons of jam. Sprinkle the streusel generously over the top.
Bake for 18–20 minutes, or until the edges are golden brown. Let cool on the pan for 5 minutes, then transfer to a wire rack. Serve warm or at room temperature.