Make the Cupcakes:
Preheat your oven to 350°F (175°C). Line a muffin tin with cupcake liners. In a medium bowl, whisk together the flour, baking powder, and salt. In a separate bowl, beat the butter and sugar together until light and fluffy, about 3 minutes. Add the eggs, one at a time, beating well after each addition. Stir in the vanilla extract. Gradually add the flour mixture, alternating with the milk, starting and ending with the flour mixture. Mix until just combined.
Scoop the batter into the prepared cupcake liners, filling each about 2/3 full. Bake for 18–20 minutes, or until a toothpick inserted into the center comes out clean. Let the cupcakes cool in the tin for 5 minutes, then transfer them to a wire rack to cool completely.
Make the Pastry Cream:
In a medium saucepan, combine the milk, heavy cream, and sugar over medium heat. In a separate bowl, whisk the egg yolks and cornstarch together until smooth. Once the milk mixture is hot but not boiling, gradually whisk it into the egg yolk mixture. Return the mixture to the saucepan and cook over medium heat, whisking constantly until it thickens, about 2–3 minutes. Remove from heat and stir in the vanilla extract and butter. Let the pastry cream cool to room temperature, then cover and refrigerate for at least 1 hour to set.
Make the Chocolate Glaze:
In a small saucepan, heat the heavy cream over medium heat until it begins to simmer. Pour the hot cream over the chopped chocolate and butter in a heatproof bowl. Let it sit for 1–2 minutes, then stir until smooth and glossy. Set aside to cool slightly.
Assemble the Cupcakes:
Once the cupcakes are cool, use a small knife or cupcake corer to create a well in the center of each cupcake. Fill a pastry bag with the chilled pastry cream and pipe it into the well of each cupcake until it's full.
Glaze the Cupcakes:
Once all the cupcakes are filled, spoon the chocolate glaze over the top of each one, letting it drip down the sides.