For the dulce de leche, pour the condensed milk, whipping cream and brown sugar into a heavy-bottomed sauce pot and, whisking or stirring constantly cook over medium heat until thick and caramelized, about 15 minutes (you may have to adjust the heat, and the mixture will get quite thick). Cool and then chill until ready to use.
Preheat the oven to 350F. Place the ice cream cones into mini muffin tins (this will hold them in place while filling and baking).
Beat the butter and sugar until creamy. Add the eggs one at a time, beating well after each addition. In a separate bowl, sift the flour, baking powder and salt. Measure the milk and stir the vanilla into it. Add the flour alternately with the milk, starting and ending with the flour and beating well after each addition.
Drop a tablespoonful of dulce de leche into the bottom of each ice cream cone. Use an ice cream scoop to scoop batter into each cone (just let the batter be – it will sink into place on its own). Bake the cupcakes for 25 to 30 minutes, until a tester inserted in the centre of the cupcakes comes out clean. Cool completely before icing.
For the frosting, beat the butter with the dulce de leche until smooth. Add the icing sugar, vanilla and salt and beat until well blended. Fill a piping bag fitted with a large plain tip and pipe swirls on top o each cupcake. Drizzle remaining dulce de leche or melted chocolate on top. Chill until ready to serve.
The cupcakes are best served the day they are made.
*Alternatively, you can make these cupcakes using a prepared dulce de leche, typically found in the grocery where dessert sauces are located.