Preheat oven to 350°F (180°C). Spray 3 (9-inch) round cake pans with baking spray with flour. Line bottom of pans with parchment paper.
In the bowl of a stand mixer fitted with the paddle attachment, beat butter, sugar, and melted coconut oil at medium speed until pale and fluffy, 3 to 4 minutes, stopping to scrape sides of bowl. Add eggs, one at a time, beating well after each addition and stopping to scrape sides of bowl. Beat in extracts.
In a medium bowl, whisk together flour, baking powder, baking soda, and salt. With mixer on medium-low speed, add flour mixture to butter mixture in three additions alternately with buttermilk, beginning and ending with flour mixture, beating until combined after each addition. Fold in flaked coconut until just combined. Divide among prepared pans (about 2½ cups or 600 grams each), smoothing with an offset spatula as needed.
Bake until golden and a wooden pick inserted in center comes out clean, 30 to 35 minutes. Let cool in pans for 10 minutes. Remove from pans, and let cool completely on wire racks.
Level cooled cake layers, if desired. Place 1 cake layer on a serving platter. Spoon 1½ cups (270 grams) Coconut Swiss Meringue Buttercream on top, spreading to edges with an offset spatula. Top with second cake layer, and spread 1½ cups (270 grams) buttercream on top. Top with remaining cake layer. Spread remaining Coconut Swiss Meringue Buttercream on top and sides of cake. Carefully press flaked coconut into top and sides of cake, if desired. Refrigerate in an airtight container for up to 3 days.