Sift the cake flour with the sugar, baking powder, and salt.
Beat 1 chunk of butter at a time into the dry ingredients until the mixture resembles a coarse meal.
Beat the egg whites and whole egg, then beat in the cream of coconut, water, vanilla, coconut extract, and rum.
Pour 1 cup of the egg mixture into the flour and butter, beating on medium-high speed until light and fluffy.
Add the rest of the egg mixture, scraping down the bowl and beating until the mixture is well combined.
Fold in the flaked coconut and pineapple.
Line a muffin pan with paper cups and fill each one ⅔ of the way up with cake batter.
Bake the cupcakes for about 20 minutes, rotating the pan halfway through.
Check the cupcakes for doneness with a toothpick inserted into the center, removing them from the oven when done. (Don't turn off the oven just yet if you'll be making toasted coconut for a garnish.)
Cool the cupcakes for 10 minutes, then take them out of the pan.
Optional: Spread the coconut for the garnish out in a pan and toast it in the oven for 15 minutes, stirring occasionally, until it appears golden brown.
Beat the butter, cream cheese, rum, and salt on medium speed for about 2 minutes until creamy.
Beat in the rest of the frosting ingredients on low speed until the powdered sugar is incorporated, then on high speed until the frosting is light and fluffy.
Frost the cooled cupcakes, garnishing them with optional toasted coconut, pineapple, and cherries, if desired.