Preheat oven to 350 degrees.
Grease and flour 3- 9 inch cake pans.
Cream butter gradually adding in sugar and beat until well combined and sugar granules have dissolved. Scrape down the sides of the bowl to incorporate all the ingredients. Combine flour, baking powder, and salt. Add the the butter and sugar mixture to the flour alternating with the coconut milk. Gently stir in coconut extract, lemon juice, lemon zest and chopped coconut flakes. Mix so that the batter is well combined.
Beat room-temperature egg whites in the bowl of a stand mixer at high speed until foamy. Add in the cream of tartar and beat at high speed until stiff peaks form. With care, fold the egg white mixture into the flour mixture one- third at a time.
Pour batter into prepared 9” cake pans and bake at 350 for 17-19 minutes or until a cake tester comes out clean. Cool in pans for 10 minutes then release cakes from pans and cool completely on wire racks until time to assemble the cake. I prefer to freeze the cakes and then frost them when they are about half way thawedYou can freeze these can freeze these cakes for up to three months before frosting.
For the Coconut Cream Cheese Buttercream Frosting
In a stand mixer with a paddle attachment, cream the butter and cream cheese on medium speed until well combined. About 6-7 minutes. The butter should be room temperature but not too soft- about 68-72 degrees. Add in confectioner's sugar, coconut milk, vanilla, and salt at low speed and increase to medium speed after the sugar is fully incorporated. Beat for 2-3 minutes more. Do not whip. If the frosting is too loose, set the bowl of frosting in the fridge to chill for 15-30 minutes.