Place cupcake liners in muffin tin. Spray lightly with PAM cooking spray. *The cooking spray really helps the cupcakes not stick to the liners.
For the cupcakes:
Preheat the oven to 350 degrees (F). Line a 12-cup cupcake/muffin tin with cupcake liners and lightly spray the liners with non-stick spray (optional but it does help them peel right off).
Melt the oil, butter,and chocolate together in the microwave, heating in 30 second increments, and stirring between increments each time. You can also melt the oil, butter, and chocolate over very low heat on the stove top, but I find the microwave to be much easier. Whisk mixture until completely smooth and set aside to cool.
In a medium sized bowl combine the flour, baking soda, baking powder, cocoa powder, and salt; stir together until thoroughly combined; set aside.
In a large bowl, whisk together the eggs, yolk, sugar and vanilla together; beat until smooth. Add the cooled oil/butter/chocolate mixture and whisk until smooth. Add half of the flour mixture, then half of the sour cream. Repeat the process until everything is added, and be sure to mix until JUST combined - then quickly stir in the hot coffee/water. It's important not to over mix, here! Just stir until evenly combined.
Divide the batter among the 12 liners in your prepared pan. Bake for 16-18 minutes, or until a toothpick inserted in the center comes out clean. Cool completely before frosting.
For the coconut cream:
In a small, deep heavy-bottom pot heat the heavy cream, sugar, and butter over medium-high until the sugar has completely melted; whisk well to combine.
Whisk the cornstarch and vanilla into the cream mixture and bring to a boil.
Continue cooking the mixture until thick, about 1 minute.
Remove from the heat and stir in the coconut. Let the mixture cool completely before using.
For the buttercream:
Beat butter with an electric mixer in a large bowl until smooth; add vanilla extract.
Gradually add confectioners sugar to butter, beating until well blended. Don't worry if it looks dry!
Add milk into butter mixture and beat until smooth.
Fold half the coconut into the icing.
Sprinkle remaining coconut over cupcakes.
Once cupcakes are cooled, cut a small hole in the center of each cupcake. Place a tablespoon of filling in the center of each cupcake, then top with buttercream. Top each cupcake with toasted or untoasted coconut, and serve!