Preheat oven to 350°F. Line a 12-cup muffin tin with cupcake liners. Whisk flour, baking powder, and salt in a bowl; set aside.
Beat butter, oil, and sugar in the bowl of a stand mixer fitted with the paddle attachment on high speed 2 to 3 minutes or until color turns a pale yellow (use a large bowl and hand mixer or whisk, if you'd like to).
Beat in egg whites, vanilla extract, and coconut extract.
Stir sour cream and coconut milk in a liquid measuring cup. Alternately beat in dry ingredients and sour cream mixture (3 additions of dry ingredients, 2 additions of sour cream mixture), starting and ending with the dry ingredients.
Scrape down the bowl, and beat 30 seconds more on medium speed. Divide batter between muffin cups, filling each about 2/3-full.
Bake 18 to 22 minutes or until the cupcake springs back when you touch the top or a toothpick inserted into the center of a cupcake comes out clean.
Cool completely in pan before transferring to a wire rack to cool completely before frosting.