Preheat oven to 325 degrees. Line baking pan with parchment paper and/or spray well with nonstick cooking spray and set aside. (See notes)
In a large bowl, whisk flour, baking powder, baking soda, and salt together to combine. Set aside.
In a liquid measuring cup, stir buttermilk and vanilla together. Set aside.
In a separate large bowl, mix butter, oil, and sugar together until combined. Mix in eggs and egg whites, one at a time, until the mixture becomes very light and fluffy. This process should take at least 3 minutes. Scrape the sides of the bowl and mix again briefly.
Alternate adding in flour mixture with buttermilk mixture, being sure to start and end with flour. Scrape the sides and mix again to ensure a smooth batter. Fold in coconut by hand. Divide evenly between baking pans and smooth the top. Bake 30-40 minutes in the lower two thirds of the oven. The cake will be done when a toothpick comes out clean or mostly clean with a few moist crumbs.
Cool 15-20 minutes in cake pans before trying to invert on cooling racks. Cool completely before frosting and decorating.
For the Frosting
In a large mixing bowl, cream butter and cream cheese together with the paddle attachment until smooth. Scrape sides and mix again.
Add in powdered sugar with the extracts and mix very slowly until it starts to come together. Once the powdered sugar has worked in, increase the mixer speed and whip until completely smooth, about 1 minute. Scrape the sides and bottom of the bowl to ensure a completely smooth frosting. Stir again if needed.
Using a bread knife, slice each completely cooled cake in half lengthwise to get four even layers.
Place one layer down on a cake stand and top with 3/4-1 cup of frosting. Spread evenly, pushing the frosting out towards the edges. Continue stacking the layers of cake with frosting together until all four layers are stacked up together with frosting in between.
With remaining frosting, complete frosting the cake. I like to add large dollops of frosting to the top and spread across to cover and then push excess down the sides. It's easier to pull frosting off with an offset spatula...less crumbs that way!
Once the cake is frosted, coat entirely with coconut, about 2 cups. Refrigerate until ready to serve.
Recipe will make:
1- 9x13 cake (bake for 30-45 minutes)
2- 8 or 9-inch round cakes (30-40 minutes)
24 cupcakes (bake for 18-20 minutes)
Regardless of how you bake this cake recipe, be sure to use lighter-colored baking pans (or glass). Using a darker pan will give you darker, crispier edges that don't really have a place in coconut cake, in my humble opinion.