Preheat oven to 350 degrees Fahrenheit.
Line your cupcake pan with cupcake liners.
Sift cocoa into a medium bowl. Slowly stir in the boiling water until smooth, then gradually whisk in milk. Set aside to cool.
Whisk together flour, baking soda and salt in a bowl. In the bowl of an electric mixer fitted with the whisk attachment, or with an hand mixer on low speed, beat butter until fluffy; 3-5 minutes. Gradually beat in sugar, scraping down the sides of the bowl at least twice. Beat in the vanilla.
Add eggs in 3 batches, beating well after each addition. With the mixer on low speed, add flour mixture and reserved cocoa mixture a little at a time in alternate batches, starting and ending with the flour; beat until just combined.
Divide batter into the cupcake liners, 1/4 cup for each liner.
Bake for approximately 12-15 minutes or longer - until a toothpick or skewer comes out clean. Time will vary according to your oven.
Take cupcake out and when cooled for about 5-10 minutes, remove from pans. Let cool completely and cut out a small hole in the top, center of each cupcake and fill with chilled dulce de leche. I only filled mine a little bit as I find it doesn't need a lot paired with the caramel icing.
To finish, pipe caramel frosting onto cupcake with a large, round tip and place a gum paste leaf on top of the icing.