Preheat oven to 350°F (175°C). Line a 12-cup muffin tin with cupcake liners.
In a medium bowl, whisk together flour, baking powder, and salt. Set aside.
In a large bowl, beat butter and sugar with an electric mixer until light and fluffy, about 3 minutes.
Add eggs one at a time, beating well after each addition. Mix in vanilla.
Alternately add the flour mixture and milk to the butter mixture, beginning and ending with flour. Mix until just combined.
Divide batter evenly among cupcake liners, filling each about 2/3 full.
Bake for 18–20 minutes, or until a toothpick inserted into the center comes out clean. Cool in pan for 5 minutes, then transfer to a wire rack to cool completely.
While cupcakes cool, prepare the custard: In a saucepan, whisk together 1/4 cup sugar, cornstarch, and 1/4 tsp salt.
Gradually whisk in 1/2 cup milk and 1/2 cup heavy cream until smooth.
Cook over medium heat, stirring constantly, until mixture thickens and boils. Boil for 1 minute, then remove from heat.
Stir in 1 tsp vanilla. Transfer custard to a bowl, cover surface with plastic wrap to prevent skin from forming, and chill for at least 2 hours.
Once cupcakes are cool, use a cupcake corer or small knife to cut a small cone-shaped hole in the center of each cupcake, leaving about 1/2 inch at the bottom.
Spoon or pipe chilled custard into each cupcake cavity.
To make the glaze: In a small saucepan, combine chocolate, butter, and corn syrup. Heat over low heat, stirring constantly, until smooth. Remove from heat and stir in 1/2 tsp vanilla.
Let glaze cool slightly until thickened but still pourable, about 5–10 minutes.
Spoon or drizzle glaze over each filled cupcake, allowing it to drip down the sides.
Let glaze set for at least 30 minutes before serving. Store covered in the refrigerator.