Take all ingredients out of the refrigerator 30 minutes before starting to reach room temperature.
Sift 4 cups flour through a strainer into a large mixing bowl. Create a well in the center and add 1 cup water, 1 teaspoon salt, and 1 cup vegetable oil. Mix gently with a spatula until just combined. Knead to form a ball, place in a greased bowl, cover with a clean cloth, and let rest for 30 minutes.
Mix 3 cups flour, 1 cup sugar, and 1 cup lard in a separate bowl until it becomes a smooth paste. Set aside.
Roll the rested dough on a lightly floured table into a 1-inch thick rectangle. Trim edges to make clean lines. Spread the paste mixture over ⅔ of the dough, leaving one-third uncovered. Fold the uncovered part over the center, then fold the remaining third on top, like folding a letter. Roll back to original size and repeat this folding two more times. Let rest for 5 minutes.
For the filling, heat ¼ cup pork oil in a pan. Add ½ cup chopped onions and 1 tablespoon minced garlic, cook until fragrant. Add ¾ cup sugar and ¾ cup flour, mix well. Pour in ½ cup evaporated milk and 1 cup water. Keep stirring until mixture becomes dry and well-combined. Let cool completely.
Heat oven to 200°C (392°F). Cut the rested dough into two long pieces. Cut each piece into 6 equal parts. Roll each piece into a circle. Put one tablespoon of filling in the center, gather edges to make a ball, then flatten slightly and fold in half.
Place on a greased baking sheet. Brush tops with beaten egg yolk and sprinkle with sesame seeds. Poke holes on top with a fork. Bake for 25-30 minutes or until golden brown.
Let cool for 5-10 minutes before eating. Best served warm with coffee or tea. Store in an airtight container and eat within 4 days.
If you want to make crispy pork skin for extra flavor: Boil pork skin until soft, refrigerate overnight, cut into small pieces, fry until crispy, save the oil, and add the crispy bits to your filling mixture.