Preheat the oven to 350°F (175°C). Line four 8-inch round cake pans with parchment paper, then lightly coat both the pans and parchment with cooking spray to prevent sticking.
In a medium mixing bowl, whisk together the cake flour, baking powder, and kosher salt until evenly combined. Place the shredded sweetened coconut into a food processor and pulse 10–15 times, or until it reaches a finer texture. Set both mixtures aside.
In the bowl of a stand mixer or with a hand mixer, beat the softened butter over medium speed for about 1 minute until creamy. Add the granulated sugar, coconut oil, vanilla extract, and coconut extract. Continue beating for 4–6 minutes, scraping down the sides of the bowl occasionally, until the mixture becomes light, fluffy, and pale in color.
Add the eggs and egg yolks one at a time, mixing thoroughly after each addition before adding the next. This gradual process helps create a smooth, stable batter.
Reduce the mixer speed to low. Alternate adding the flour mixture and the coconut milk, beginning and ending with the dry ingredients. Mix only until each addition is incorporated to avoid overworking the batter. Gently fold the finely ground coconut into the batter using a spatula.
Divide the batter evenly among the prepared cake pans, smoothing the tops with an offset spatula or the back of a spoon.
Bake for 30–35 minutes, or until a toothpick inserted into the center of each cake comes out clean.
While the cakes are still warm, use a wooden skewer to poke small holes across the surface of each layer. Brush the cream of coconut evenly over the tops, allowing it to soak into the cakes for added moisture and coconut flavor.
Leave the cakes to cool completely in their pans on wire racks for approximately 1 1/2 hours before assembling.