Preheat the oven to 350 degrees F. Butter and flour two 9-inch diameter cake pans with 2-inch high sides.
Pour the flour, baking powder, baking soda and 1/2 teaspoon salt in a medium bowl. Use a whisk to stir together. This will get rid of any lumps and pseudo-sift the ingredients. In a separate large bowl, beat the sugar, butter and sweetened cream of coconut until fluffy and it resembles whipped cream, about 2 minutes. Beat in the egg yolks and vanilla extract. Scrape down the sides of the bowl and stir to incorporate all the ingredients. With the mixer on low speed, beat in 1/2 the dry ingredients, followed by the buttermilk, and the remaining dry ingredients, scraping down the sides in between each addition, just until blended.
Using clean, dry beaters, beat the egg whites with a pinch of salt in another clean large bowl until the egg whites are stiff but not dry. Cook's Note: You want to get the most volume from your egg whites, that's why it is essential that the beaters and bowl are clean. Just to be safe, I like to wipe the bowl out with a dash of vinegar, white or apple cider is best. The vinegar cuts through any fat in the bowl leaving only a sparkling bowl behind. And don't worry, you won't be able to taste the vinegar-I promise!
In batches, fold the beaten egg whites into the batter, being careful not to deflate the whites. Divide the cake batter evenly between the prepared cake pans. Spread the batter with an offset spatula to level the batter in the pan. Bake the cakes until a tester inserted into center comes out clean, 40 to 45 minutes. Cool the cakes in the pans on a wire rack, about 10 minutes. Gently run a small sharp knife around the pan sides to loosen the cakes. Cook's Note: As the cakes cool they will shrink slightly, pulling away from the sides of the pan. By running the knife around the sides of the pan you are helping in the process by taking away any resistance. Turn the cakes out onto the racks and cool completely.
With a pastry brush, gently brush any crumbs from the cooled cake layers. If the cake baked up with a slight dome in the center, you can trim it to even it out or just remember to place that cake layer dome-side down on the cake plate. Place 1 cake layer, flat-side up, on a cake plate. Spread 1 heaping cup Coconut Cream Cheese Frosting over the cake layer, leaving a 1/2-inch border of cake around the edge. This will give the filling a place to go or spread when the second cake layer is placed on top-you don't want it to bulge out the sides!
Sprinkle 1 cup sweetened shredded coconut mix over the frosting. Top with the second cake layer, flat-side up. Spread the remaining frosting over the top and sides of the cake. For a retro look, I like swoopy swirls. The best way to achieve it is to spread the frosting using the back of a spoon. It's that easy!
Sprinkle the remaining coconut mix over the cake, gently pressing into the sides to adhere. Coconut Layer Cake can be prepared up to 1 day ahead. Refrigerate at least 1 hour.
Beat the cream cheese in a medium bowl until fluffy, about 3 minutes. Add the butter and beat until smooth. Add the sugar, sweetened cream of coconut, vanilla extract and pinch of sea salt and beat until well blended, scraping down the sides as needed, for about 3 more minutes. Cook's Note: For a tropical twist, I add just a splash of fresh lime juice and a dash of finely grated lime zest to the mix!