Filling: Chop bacon into small pieces; fry until crisp and drain off the fat. If adding onion, chop finely and cook with the bacon. Chop ham into small pieces. Combine ham with bacon mixture and grind in meat grinder or food processor. Cool in refrigerator. This may be done 2 to 3 days in advance. This mixture also freezes well.
Dough: Heat milk in a saucepan. Add butter to melt. Add sugar and salt and cool. Dissolve yeast in 1/2 cup of this liquid until yeast is activated, about 5 minutes. Beat 5 eggs slightly and add to remaining milk and butter mixture; blend and add to the yeast mixture. Add flour and use a dough hook to mix in a standing mixer for at least 5 minutes. Place in a greased bowl until doubled in size. Punch down and let rise until doubled again.
Roll out dough on a floured board to 1/8-inch thickness. Use a 4-inch round cutter or a clean tin can to cut the dough. In each circle place a lump of filling in the center, close the dough over, pinch all corners together, seal, and turn over so that seam is on bottom. Place on a baking sheet in rows. Let rise until doubled.
Preheat oven to 350 degrees F.
Combine egg yolk and water in a small bowl and brush over top. Bake for 15 minutes.