In a small, glass mixing bowl (or one that is heatproof), whisk together the sugar and egg whites. Place the bowl on top of a saucepan with simmering water, filled a quarter of the way (water should be low enough that the bowl doesn't touch any water). Warm the egg whites and sugar, whisking a bit, for about 8 minutes. If using a thermometer, it should be 160-170; if not, mixture should be hot to touch and sugar should be dissolved.
After cooking the mixture, pour it into the bowl of your stand mixer. With the whisk attachment, beat the egg whites and sugar for a really long time. Like 8-10 minutes on medium-high. They are ready when they are light, bright white, shiny and fluffy like a cloud (aka a meringue). They will have cooled down almost to room temp. If they have not cooled down enough hold off until they are room temp or really close to it (to not melt the butter.
Turn the speed to low and add the butter two pieces at a time. Make sure the mixer is on low and that you are adding just two pieces at a time, or it will slop over the sides. Increase the speed to medium and mix for another 5 minutes. The butter should be thoroughly emulsified with the meringue. The frosting should be smooth and shiny.
Tip: If the frosting looks separated and curdled at first, don't freak out, this is how it goes. If your butter is room temp and the meringue is room temp, it will come together. Mine always looks gross and separated until I get all the butter in and totally emulsified.
Add in the vanilla and the coconut milk and continue beating until both are totally incorporated (just about 3 more minutes).