How to Make It
Make the dough: Whisk 1 cup flour, granulated sugar, and yeast in a large bowl. Add warm milk, and whisk to combine. Set aside until small bubbles begin to appear on the surface, about 5 minutes.
Whisk together melted butter, egg yolks, and salt in a separate bowl. Stir butter mixture into yeast mixture using a rubber spatula or wooden spoon. Stir in remaining 2 cups of flour, 1 cup at a time. After the second cup is added and it becomes too difficult to stir, tip the shaggy dough out onto a lightly floured countertop, and begin kneading by hand until smooth and springy, 3 to 4 minutes. The dough should be very tacky and a little greasy, but not sticky. If it does stick to the surface, dust with more flour, using as little as possible.
Transfer dough to a large bowl and cover with plastic wrap. Place bowl in a warm until doubled in size, 1 hour to 1 hour and 30 minutes.
Make the cherry filling: Combine cherries, granulated sugar, 1/4 cup water, and salt in a 2-quart saucepan. Bring to a boil over medium-high, stirring to dissolve sugar. Reduce heat to medium-low to maintain a steady simmer, and cook, stirring occasionally, until liquid is reduced to a thick, syrupy consistency, about 25 minutes. Remove from heat, and let cool to room temperature. Stir in lemon juice.
Make the cream cheese filling: Beat cream cheese, powdered sugar, egg yolk, and lemon zest in a large bowl with an electric mixer until smooth, about 1 minute.
Make the streusel topping: Stir together flour, sugar, butter, and salt in a small bowl until crumbly. Set aside to let butter solidify. Before using, stir again to create fine crumbs.
Punch down the risen dough and divide it into 12 equal pieces (about 2 1/3 ounces each). Roll dough pieces against work surface with cupped hands to make smooth balls. Transfer dough balls to a parchment paper–lined baking sheet, and let rise, covered with a damp towel, until doubled in size, 30 to 45 minutes.
Make the kolaches: Preheat oven to 375°F. Use your fingertips to form 2-inch-wide wells in the center of each dough ball. Whisk egg yolk and milk in a small bowl. Brush outer edges and sides of dough with egg wash. Spread 1 tablespoon cream cheese filling in each well. Make a smaller well in the center of the cream cheese, and top each with a dollop of cherry filling. Sprinkle with streusel topping. Bake in preheated oven until edges are light golden brown, about 20 minutes.