Preheat the oven to 350°F. Line 2 standard cupcake pans with 18 cupcake paper liners.
In a large bowl, add the vanilla cake mix, eggs, canned coconut milk, vegetable oil, and coconut extract. Beat on medium speed with a hand mixer for 2 minutes or until the batter is smooth.
Add the sweetened shredded coconut and stir to fully combine.
Fill the cupcake liners ¾ full with the batter and bake cupcakes for 15 to 18 minutes or until a toothpick inserted comes out clean.
Allow the cupcakes to cool completely on a wire rack at room temperature before frosting. You can make the frosting while your cupcakes are cooling.
To make the frosting, add the cream cheese and unsalted butter to a large mixing bowl, or the bowl of a stand mixer fitted with a paddle attachment.
Beat the butter and cream cheese for 1 to 2 minutes or until fluffy and smooth.
Add the coconut extract, vanilla extract, and salt. Beat for an additional 30 seconds to combine.
Add the powdered sugar, one cup at a time, to the cream cheese mixture, beating to incorporate between each addition.
Add the canned coconut milk and beat the frosting for an additional 1 to 2 minutes or until light and fluffy. If your frosting is too thick, you can add an additional 1 tablespoon of canned coconut milk.
Transfer your coconut frosting to a piping bag fitted with a large piping tip or a zip-top bag with the corner snipped off. Pipe your frosting onto each cooled cupcake and garnish with a sprinkle of sweetened shredded coconut.