Preheat oven to 350°F (175°C) and position the rack in the center. Grease two 9-inch round cake pans, line the bottoms with parchment paper circles, and grease the parchment.
Whisk together the flour, baking powder, and salt in a medium bowl until evenly combined. Set aside.
Beat softened butter on medium speed for 1–2 minutes until smooth, then add the granulated sugar and beat on medium-high for 4–5 minutes until pale, fluffy, and nearly doubled in volume. Scrape down the bowl as needed.
Add the eggs one at a time on medium-low speed, fully incorporating each before adding the next. Mix in the vanilla extract and coconut extract until combined.
Stir together the full-fat coconut milk and cream of coconut in a small bowl or measuring cup until well combined. Set aside.
On low speed, alternate adding the dry ingredients (in thirds) and the coconut liquid mixture (in halves), beginning and ending with the dry ingredients. Mix until just combined after each addition — do not overmix.
Remove the bowl from the mixer and gently fold in the 1 cup of sweetened shredded coconut using a rubber spatula until evenly distributed.
Divide the batter evenly between the prepared pans, smooth the tops, and bake for 28–33 minutes until a toothpick inserted in the center comes out clean and the edges begin to pull away from the pan.
Cool the cakes in the pans on wire racks for 15 minutes, then run a knife around the edges, invert onto the racks, peel off the parchment, and cool completely (1–2 hours) before frosting.
Beat the cream cheese and butter together on medium speed for 2–3 minutes until smooth and lump-free. Add the sifted powdered sugar one cup at a time on low, then mix in the vanilla extract, coconut extract, and salt. Beat on medium-high for 2 minutes until fluffy.
Place the first layer on a serving plate and spread 1–1½ cups of frosting evenly over the top. Set the second layer on top and apply a thin crumb coat of frosting all over the cake. Refrigerate for 20–30 minutes, then apply the remaining frosting smoothly over the top and sides.
Working over a baking sheet, press handfuls of shredded coconut onto the sides and top of the frosted cake until fully coated. Refrigerate for at least 30 minutes before slicing.