Preheat the oven to 170C/350F and line a 12 count muffin tin with cases.
Put the sifted cocoa, flour, bicarb, baking powder and salt in a bowl and lightly whisk to combine.
In another bowl, whisk together eggs, sugars, coconut oil and vanilla until combined.
Pour half of the egg mixture into the dry and then half of the buttermilk, gently stir until it's just starting to combine. Add the remaining egg mixture and buttermilk and gently stir until combined, do not over mix.
Spoon the batter into the cases, half way full. Bake for 18-20 minutes, until a skewer comes out clean. Cool in pan for 5 mins then transfer to wire rack to cool completely.
To make the filling, Put the coconut in a bowl and pour the condensed milk in a little at a time, stirring to combine. You may not need all of the condensed milk, just add enough to get your desired consistency - I liked mine the consistency of thick jam, but you may prefer yours a little runnier or thicker.
Once the cupcakes have cooled completely, cut a circle out of the centre that goes about 3/4 way down into the cupcake - reserve the cake you cut out. Spoon about a tsp of the filling into the hole. Cut the top off the piece of cake you cut out and place over the top to seal it. Set aside while you make the frosting.
To make the frosting, Beat the butter with a hand mixer or your stand mixer fitted with the paddle attachment until smooth and creamy, about 3 minutes on medium-high speed. Add the vanilla and beat to combine.
Gradually add the sugar, beating on low until the sugar is combined so you're not choking on a cloud of icing sugar. Turn up to medium-high and add coconut milk, beat until light and fluffy - about 3 minutes.
Fold in half of the toasted coconut. Spoon into a piping bag fitted with your chosen tip and pipe onto cupcakes, or spread over the cupcakes with a palette knife. Sprinkle the remaining coconut over the top of the cupcakes.