Make the cake : Preheat the oven to 350°. Line a 12-cup muffin tin with paper or foil liners.
In a medium bowl, whisk the flour with the cornstarch, baking powder and salt.
In a large bowl, using a handheld electric mixer, beat the sugar with the eggs and vanilla extract at medium-high speed until smooth and thickened slightly, about 3 minutes. Add the butter and oil and beat until incorporated, scraping the bottom and side of the bowl. Add the dry ingredients and milk in 3 alternating batches, beating well between additions. Carefully pour the batter into the lined muffin tins, filling them about two-thirds full.
Bake the cupcakes in the center of the oven for 20 to 23 minutes, until springy and a toothpick or cake tester inserted in the center comes out clean. Let the cupcakes cool slightly in the muffin tin, then transfer them to a wire rack to cool completely.
Meanwhile, make the frosting : Put the chopped chocolate in a heatproof medium bowl. In a small saucepan, heat the cream with the butter, corn syrup and salt until hot but not boiling. Immediately pour the mixture over the chocolate. Let stand for 5 minutes, then whisk until smooth. Let the frosting cool, whisking occasionally, until thick enough for dipping and glazing the cupcakes, about 30 minutes. For a frosting firm enough to spread, let stand for 1 hour.
Frost the cooled cupcakes, top with the sweetened shredded coconut and mini nonpareil candies.