Begin by making the cake. Preheat the oven to 170 degrees celsius (340 Fahrenheit) and line a cupcake tray with cupcake liners.
Place the chocolate and cocoa in a heat proof bowl and set aside. Melt the butter in a small saucepan over a medium-high heat and pour into the chocolate and cocoa mixture and stir until smooth. Set aside.
In a separate bowl whisk together the eggs and brown sugar until the sugar is dissolved. Pour into the chocolate mixture and stir until well combined.
Sift the flour, baking soda and salt into a separate bowl. Sift again.
Add one third of the flour mixture to the chocolate mixture and mix until well combined. Add half the buttermilk and mix until combined. Add another third of the flour mixture, mixing until combined, before adding the remaining buttermilk and flour. When the mixture is thoroughly combined divide between the cupcake liners. Bake for 15 to 17 minutes of until the cupcakes spring back when pressed. Remove from the oven and cool on a wire rack.
Next make the dulce de leche. Preheat the oven to 220 celsius (425 Fahrenheit) and pour the condensed milk into a casserole dish and sprinkle with sea salt and stir through before covering with a tight fitting lid. Place the casserole dish inside a large roasting pan and fill with water so that the water level is ½ the height of the casserole dish. Bake for 90 minutes until golden. Set aside to cool.
To make the Italian buttercream place the sugar, golden syrup and water in a saucepan and mix until well combined. Use a pastry brush to dislodge any stray grains of sugar before placing over a high heat. Bring to a rapid boil and add a sugar thermometer. Cook until the mixture reaches 120 celsius (248 Fahrenheit) and remove from the heat.
Place the egg whites in the bowl of an electric mixer and whisk to soft peaks. With the mixer running, slowly pour the sugar syrup into the bowl, being careful not to touch the whisk, and continue whisking until the mixture cools, around 5 to 10 minutes. Add the butter, one third at a time, and whip until fully incorporated. Then add the cooled dulce de leche and whisk until well combined.
To assemble the cupcakes cut a circle in the top of each cupcake and scoop out part of the middle of the cupcake. Fill with dulce de leche and place the top back on each cupcake.
Fill a piping bag fitted with a star shaped nozzle with the Italian meringue buttercream and pipe onto the top of each cupcake in whatever pattern you desire.
Notes
If your dulce de leche appears lumpy after it comes out of the oven don't fret. Use an immersion (stick blender) to blend until smooth. It's important the Italian meringue cools down enough before you begin adding the butter. Add the butter to soon and it could melt and turn the meringue into a soupy mess. If that happens don't stress. Simply refrigerate the mixture in the mixing bowl for an hour and begin whipping again before adding the remaining butter and flavouring.