Lightly grease a medium bowl with peanut or vegetable oil; set aside. Pour ⅓ cup lukewarm water into a small bowl, sprinkle 2 tsp. instant dry yeast over, and let sit 1 minute to soften yeast. Add ½ cup lukewarm whole milk or oat milk, 3 Tbsp. sugar, and 2 Tbsp. peanut or vegetable oil and stir until yeast and sugar are dissolved.
Mix 1½ tsp. baking powder and 2½ cups plus 5 Tbsp. plus 2 tsp. (355 g) all-purpose flour in the bowl of a stand mixer to combine. Make a well in the center and pour in yeast mixture. Stir with a rubber spatula to form a ragged dough that mostly cleans the sides of the bowl as you mix it. Let sit, uncovered, 3 minutes.
Attach bowl to stand mixer fitted with dough hook and beat
on medium speed until dough forms a ball around hook, about 1 minute. Continue to beat
until dough is mostly smooth and elastic but still sticky, about 30 seconds.
Using a flexible dough scraper, transfer dough to a lightly
floured surface and turn to coat dough lightly in flour to make it easier to handle.
Gently knead until smooth, soft, slightly tacky, and roundish in shape, about 30
seconds. When you press a finger into the dough, it should spring back, leaving only a
faint indentation. (Alternatively, you can mix the dough in a large bowl with a rubber
spatula and some elbow grease. Knead on a surface, dusting lightly with flour, until a
soft, smooth dough forms, about 4 minutes. If the dough feels dry, work in lukewarm
water by the teaspoonful as needed.)
Place dough in reserved prepared bowl and rotate to coat
with oil. Cover with plastic wrap and let sit in a warm, draft-free spot until nearly
doubled in size, about 1 hour.
Cut out twelve 3″ squares of parchment paper. Very
lightly dust a surface with flour if dough seems sticky. Transfer dough to surface and
shape into a thick log. Using a knife, cut crosswise into 12 equal pieces (you can cut
dough in half, then half again, then each portion into thirds to get there). Using a
light touch, roll each piece into a ball. Smack each ball with the heel of your hand to
make a 3″-diameter disk.
Roll out a dough disk, working from top to bottom, or midline to edge, rotating often to prevent sticking, into a thin oval that measures about 5×3″. Brush a little of remaining 2 tsp. vegetable or peanut oil over half of oval, then fold it over to create a half-moon. Place on a parchment square and set in steamer trays or baskets, placing away from the walls. Repeat with remaining disks, spacing about 1″ apart (it’s okay if the papers overlap). If you run out of space, place extras on a baking sheet. Loosely cover buns with a kitchen towel and let rise in a warm, draft-free spot until almost doubled in size, 20–30 minutes.
About 10 minutes before buns are ready, fill steamer pot or
other large pot halfway with water and bring to a rolling boil. Reduce heat slightly to
Set trays over pot, cover, and steam buns until puffed and dry-looking, 6–8 minutes. Remove pot from heat and wait for steam to subside before removing lid, tilting it away from you to avoid condensation dripping onto buns or hot steam hitting your face. Remove trays from pot and, using a metal spatula, transfer buns, on parchment paper, to a wire rack. Let cool 5 minutes. Loosely cover to keep from drying out. If needed, wipe moisture from trays before steaming more buns. If not making ahead, once all of the buns are cooked, return to trays, standing them up if needed, and cover with lid to keep soft until ready to use.
Do ahead: Buns can be made 5 days ahead. Place in an airtight container and chill, or freeze up to 1 month. If frozen, thaw and re-steam about 3 minutes, or cover with a damp kitchen towel and microwave in 30-second intervals.