Place the flour, sugar, salt, milk powder, and yeast in a large mixing bowl. Stir with a wooden spoon to mix all ingredients well.
Warm the milk in the microwave for 30 seconds. Whisk together milk and eggs.
Slowly add the egg & milk mixture into the flour mixture and mix with a spoon until incorporated scraping down the sides of the bowl as needed.
Lightly dust a work surface with flour and then start kneading the dough. Knead for about 10 minutes until smooth and elastic.
Add the butter one cube at a time and knead after each addition until all the butter has been incorporated about 5 more minutes.
Shape the dough into a ball and place it into a large, greased bowl. Cover with plastic wrap and a clean tea towel. Keep in a warm place for about 1 hour until it doubles in size.
Punch the dough and divide it into 4 to 6 equal parts. Roll each dough into smooth balls. Cover with plastic wrap and a tea towel, and let rest at room temperature for 10 minutes.
Take one ball of dough and flatten it into a circle. Place about 2 tablespoons of fish filling in the center of each dough circle.
Now shape into triangles; Start by folding 2 sides together. Pinch the dough up to halfway to keep it sealed. Fold the last side of the dough and pinch the edges of the sides together to seal everything.
Gently turn the folded side downward, so that the pinched end makes contact with the floured work surface. Repeat this process for all the balls of dough.
Place the buns, seam-side down, on a baking tray. Make sure the buns aren’t too close together to leave room for rising. Cover with plastic wrap and a clean tea towel and let it rise in a warm place for about 45 mins.
Mix the egg yolk with a splash of water. Brush the buns with an egg wash.
And sprinkle with poppy or sesame seeds, if using.
Bake until the tops are golden brown, about 20 minutes in a preheated oven (180C). Depending upon the size of the bun adjust the time accordingly.