Make the Coconut-Pecan Topping: In a saucepan, combine the egg yolks, evaporated milk, granulated sugar, brown sugar, unsalted butter, salt, and vanilla. Cook over medium heat until the mixture thickens, about 10 minutes. Remove from heat and stir in the toasted coconut and pecans. Set aside to cool.
Make the Cupcakes: Preheat your oven to 350°F (175°C) and line a cupcake pan with liners. In a bowl, melt the chopped unsweetened chocolate with the cocoa powder and hot water. Stir in espresso powder. In another bowl, combine the flour, baking soda, and salt. In a mixing bowl, beat together the softened butter, granulated sugar, and brown sugar until fluffy. Add the whole eggs, egg yolk, and vanilla. Mix in the sour cream, then add the melted chocolate mixture. Gradually add the dry ingredients until just combined. Fill each cupcake liner about two-thirds full and bake for 18-20 minutes or until a toothpick comes out clean. Allow to cool.
Make the Buttercream: Beat the softened unsalted butter until light and fluffy. Add the sifted cocoa powder, vanilla, and a pinch of salt. Gradually mix in the powdered sugar, adding heavy cream until you reach your desired consistency.
To Assemble: Frost the cooled cupcakes with the buttercream and top each with a generous scoop of the coconut-pecan topping.