Preheat your oven to 350°F (175°C). Line a cupcake pan with cupcake liners.
In a medium mixing bowl, whisk together the all-purpose flour, baking soda, baking powder, cocoa powder, and salt. Set aside.
In a double boiler or microwave-safe bowl, melt the dark chocolate with the unsalted butter and coconut oil. Stir until smooth. In a separate bowl, mix together the sugar, eggs, vanilla extract, and water. Add the melted chocolate mixture and mix until incorporated.
Gradually add the dry ingredients to the wet mixture, stirring gently until just combined. Be careful not to overmix.
Divide the cupcake batter evenly among the prepared liners, filling each about two-thirds full. Bake for 18-20 minutes, or until a toothpick comes out clean. Allow cooling in the pan for 5 minutes, then transfer to a wire rack to cool completely.
In a mixing bowl, beat together the room temperature unsalted butter and softened cream cheese until creamy. Gradually add the confectioners’ sugar and continue to beat until fluffy. Add milk and vanilla.
Remove the center of each cooled cupcake and fill with the buttercream using a piping bag.
In a saucepan, heat the heavy cream until it simmers. Remove from heat and stir in the chopped chocolate until smooth.
Allow ganache to cool slightly before pouring it over the filled cupcakes.
Let the ganache set for a few minutes before serving. Enjoy your cupcakes!