This creamy cake is guaranteed delicious every time!
First, the Layers: Preheat your oven to 350°F. Grease and flour 2 9-inch round cake pans with shortening and all-purpose flour, and line the bottoms with lightly greased parchment paper. We'll come back to these.
Using a heavy duty stand mixer with a paddle attachment, beat the butter and coconut oil on medium speed until it becomes creamy. Gradually add sugars, and keep on beating until it's light and fluffy, about 3 to 5 minutes. Add egg yolks, 1 at a time, beating just until incorporated after each addition. Finally, beat in the extracts.
Whisk together flour, baking powder, and salt in a medium bowl; add to butter mixture alternately with coconut milk, beginning and ending with flour mixture, beating just until combined after each addition.
Beat egg whites in a medium bowl with an electric mixer on high speed, until stiff peaks form (try not to overbeat it). Gently fold egg whites into the batter, then spread it evenly in prepared pans.
Bake the pans in the preheated oven until you can stick a toothpick in and pull it out clean, about 22 to 25 minutes. Let the layers cool in their pans on wire racks for 15 minutes. Gently remove from pans (the layers are tender!) and let cool completely on wire racks, about 1 hour.
Next, the Filling: Beat heavy cream, coconut cream, and vanilla with an electric mixer, this time on low speed, until foamy. Increase the speed to medium-high and gradually add powdered sugar. Continue beating until stiff peaks form. Gently fold in coconut.
Finally, the Frosting: Beat butter and salt with a heavy-duty stand mixer, this time on medium speed until creamy. Keep on beating until it becomes smooth as you gradually add powdered sugar, about 1 minute. Add vanilla and 4 tablespoons of the coconut milk, and keep on beating until light and fluffy, about 1 minute, adding 1 to 2 tablespoons more milk, if needed, 1 teaspoon at a time, for desired consistency.
Let's put it all together! Place 1 layer on a serving platter, and spread the filling over it, spreading to within 1/2-inch from the edge. Top it with the second layer, and spread Frosting on top and sides of cake. Garnish with toasted coconut.