Combine warm milk, sugar and instant yeast. Mix well and let sit for 5 minutes. You should start to see bubbles on the surface.
Make dough: In a large bowl, combine bread flour and salt, then pour in the yeast mixture and mix well until a shaggy dough forms. Use your hands to knead the dough together, then add the vegan butter. The dough will feel very slippery at this point, but continue kneading until the butter is fully incorporated (I like to do all this in the bowl first).
Knead: Transfer the dough to a floured working surface and knead the dough for 7-10 minutes, Dust with flour whenever it starts to stick, but be careful not to add too much. Shape the dough into a tight ball. It should be soft and smooth, and it should spring back when you poke it.
First rise: Let rise in a greased bowl covered in plastic wrap/damp kitchen towel for 1 hour or until doubled in size.
Make filling: In a pan over medium heat, dissolve the gula melaka in water to form a syrup. Once it starts bubbling, add in the shredded coconut and salt. Cook for 2 minutes, then add in cornstarch slurry to thicken. The filling shouldn't be too wet or dry. Remove from the heat and let cool slightly, then refrigerate. Before filling, divide the filling into 8 portions and roll into balls weighing 30g each.
After rising: Once the dough has risen, punch it down and knead for a minute to release some of the air. Divide the dough into 8 equal parts, around 65g each. Cover the dough balls with a kitchen towel to prevent them from drying out. Knead one portion of dough for 30 seconds, then turn it over and secure the bottom to get a tight ball. Repeat with the rest of the dough. This helps produce a smooth top.
Fill: Roll the dough into a small round, then roll only the edges of the dough, rotating 45° after each roll. The edges should be thinner then the center. Place the filling in the center, then bring the edges together and pinch tightly to seal. Use the outer edges of your palm to secure the bottom, then place it seam side down on a greased baking tin. Repeat with the remaining dough.
Second rise: Cover with plastic wrap and let rise for 30-40 minutes.
Bake: Preheat the oven to 180°C. Brush the dough with plant milk and bake for 30 minutes, until the tops are golden brown.
Let cool in the tin for 5 minutes, then transfer to a wire rack to cool. Enjoy while warm.