Photograph: Ria Osborne
Gently heat the milk, 25g of caster sugar, salt and 2 tablespoons of oil in a small pan until the sugar has dissolved and the milk is warm. Mix the flour and yeast in a large bowl, add the warm milk and mix with a wooden spoon to a rough dough. Knead briefly in the bowl, then knead for 10 minutes on a lightly floured work surface. Put the dough in a large, lightly oiled bowl, cover with a tea towel and leave in a warm place for about 90 minutes, until doubled in size.
Meanwhile, for the filling, whisk 125ml of water with the oyster sauce, ketchup, cornflour, sugar and soy sauce. Trim any sinew and fat from the pork and cut into 1cm pieces. Heat half of the groundnut oil over a high heat in a wok or a large frying pan and fry the pork for about 2 minutes until golden; transfer to a plate. Add the remaining oil and fry the onion, stirring frequently, for 3 minutes until golden. Return the pork to the wok and cook for 2 minutes; stir in the rice vinegar. Reduce the heat to medium and pour the sauce into the centre of the wok. Cook, stirring, for about 2 minutes until thickened. Take the wok off the heat, add the sesame oil and leave to cool.
Cut out 12 x 10cm squares of baking paper. Once the dough has doubled in size, tip it out on to a surface and knead for 30 seconds. Divide it into 12 (roughly 60g each). Roll into 15cm discs about the thickness of a pound coin.
Add a heaped tablespoon of filling to the centre of each, fold up the edges to encase the filling and place on a baking paper square. Cover with a clean tea towel to rest for 15 minutes. Set up your steamer.
In batches of 4, place the buns, still on their baking paper, in the steamer and steam, covered, over a medium heat for 12-15 minutes. Serve with soy sauce for dipping.
Get ahead: make the filling up to a day ahead, cool, cover and chill.
Kitchen secret: leftover buns? Freeze and steam from frozen for 12 minutes, or until piping hot right through – a great midweek meal.