Preheat oven to 325°F. Grease and flour three 8-inch round cake pans. Line bottoms with parchment or wax paper.
Whisk together cake flour, baking powder, baking soda, and salt in a medium bowl. Set aside.
In a separate bowl, combine buttermilk, oil, vanilla extract, and coconut extract. Stir and set aside.
Beat softened butter and cream cheese on medium speed until smooth and creamy.
Gradually beat in sugar for 2–3 minutes until fluffy. Add eggs one at a time, mixing well after each.
With mixer on low, alternate adding dry and wet mixtures, starting and ending with dry. Mix just until combined.
Divide batter evenly between pans. Bake for 25–28 minutes, or until a toothpick comes out clean.
Let cakes rest in pans for 5–10 minutes, then transfer to wire racks to cool fully.
In a clean, grease-free bowl, add egg whites, vanilla, and coconut extract. Set aside.
In a saucepan, combine water, sugar, and cream of tartar (or corn syrup). Stir to combine. Bring to a boil and cook without stirring for 1 minute, or until clear.
While syrup boils, beat egg whites on high speed until soft peaks form.
With mixer on low, slowly drizzle hot syrup into egg whites. Then beat on high for 7 minutes until stiff, glossy peaks form.
Place first cake layer on a plate. Spread frosting on top and sprinkle lightly with coconut. Repeat for second and third layers.
Frost the entire cake. Press flaked coconut onto the sides and top. Let rest 15–20 minutes before slicing.