Preheat oven to 350°F (175°C). Grease two 9-inch round cake pans with butter and dust lightly with flour, tapping out excess. This prevents sticking and ensures clean cake edges. Set pans aside on the counter.
In a medium mixing bowl, whisk together 2 cups all-purpose flour, 2 teaspoons baking powder, and 0.5 teaspoon salt for 20 seconds. This aerates the flour and distributes leavening evenly. Set aside.
In a large mixing bowl, add 0.75 cup softened unsalted butter (it should be soft enough to leave a fingerprint). Using an electric mixer on medium speed, beat the butter for 1 minute until creamy and pale yellow.
Gradually add 1.5 cups granulated sugar to the butter, 0.25 cup at a time, beating for 1–2 minutes after each addition. Continue beating for a total of 3–4 minutes until the mixture is light, fluffy, and resembles pale mousse. This creaming process incorporates air bubbles for a tender crumb. Checkpoint: The mixture should be noticeably lighter in color and texture, almost doubling in volume.
Add 3 large room-temperature eggs one at a time. After each egg, beat on medium speed for 30–45 seconds until fully combined before adding the next. Room-temperature eggs emulsify better and prevent a curdled batter. Checkpoint: The batter should look smooth and creamy, with no streaks of egg white or yellow yolk visible.
Reduce mixer speed to low. Add 0.5 cup of the flour mixture and beat for 15–20 seconds until just combined (do not overmix or the cake will be tough).
Add 0.5 cup cream of coconut slowly while mixing on low for 15–20 seconds. The batter will look slightly curdled—this is normal.
Add the remaining 1.5 cups flour mixture in two additions, beating for 10–15 seconds after each, alternating with the remaining 0.5 cup cream of coconut. Start and end with the flour mixture. Mix only until just combined after each addition. Checkpoint: The batter should be smooth, thick, and uniform with no streaks of flour visible.
Remove bowl from mixer. Using a silicone spatula, gently fold in 0.75 cup sweetened shredded coconut, 0.5 teaspoon vanilla extract, and 0.25 teaspoon coconut extract with 8–10 strokes until just incorporated. Do not overmix.
Divide batter evenly between the two prepared pans, using an offset spatula or the back of a spoon to level the tops slightly. Pour about 1.5 cups into each pan.
Place both pans in the preheated 350°F oven on the middle rack, leaving at least 2 inches between pans for heat circulation. Bake for 25–30 minutes.
The cakes are done when the tops are light golden brown, a toothpick inserted into the center comes out clean with just a few moist crumbs, and the cakes pull slightly away from the sides of the pans. If they still jiggle when you gently shake the pan, bake for 2–3 more minutes. Checkpoint: Toothpick should not have raw batter—only crumbs or nothing at all.
Remove pans from oven and let cool on a counter or wire rack for 15 minutes. The cakes will contract slightly and pull away from the edges, making removal easier.
Run a thin knife around the inside edge of each pan to loosen the cake. Invert each pan onto a wire rack, tap gently on the bottom, and lift the pan away. The cakes will drop onto the rack.
Allow cakes to cool completely to room temperature, about 1–2 hours. Do not frost until completely cool or the frosting will melt. Checkpoint: Touch the cake surface with your hand—it should feel room temperature, not warm.
While cakes cool, make the frosting. Pour 1 cup heavy whipping cream into a chilled metal or glass mixing bowl. Using an electric mixer on medium-high speed, whip the cream for 1–2 minutes until soft peaks form (peaks that flop over when you lift the beaters).
Continue whipping the cream for another 30–45 seconds while gradually sprinkling in 3 tablespoons powdered sugar, 0.25 teaspoon vanilla extract, and 1 tablespoon cream of coconut. Whip until stiff peaks form (peaks that stand upright). Do not overmix or you'll have butter. Checkpoint: Beaters lifted from frosting should show peaks that stand straight up without drooping.
Place one completely cooled cake layer onto a serving plate or cake board. Using an offset spatula or butter knife, spread about 0.75 cup frosting on top of the first layer, leaving 0.5 inch from the edges.
Carefully place the second cake layer on top, centering it over the frosted bottom layer. If the top is slightly domed, the frosting on the bottom layer will help stabilize it.
Spread the remaining frosting over the top and around the sides of the assembled cake using an offset spatula. Apply frosting in smooth, even strokes. Chill the frosted cake for 15 minutes if the frosting becomes too soft to work with.
Remove cake from refrigerator. Sprinkle 0.5 cup sweetened shredded coconut over the top and gently press around the sides of the cake where frosting is visible. Toast the coconut under the broiler for 30–45 seconds (watch carefully) for golden color, or leave untoasted for bright white garnish.
Slice and serve immediately, using a sharp knife dipped in hot water and wiped clean between cuts for neat slices. Serve chilled or at room temperature.