Preheat and Prepare Pans: Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans or line them with parchment paper.
Mix Dry Ingredients: In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
Cream Butter and Sugar: In a large mixing bowl, beat the butter and sugar until light and fluffy. Add the eggs one at a time, mixing well after each addition. Stir in the vanilla and coconut extracts.
Combine Wet and Dry: Gradually add the dry ingredients to the creamed mixture, alternating with the coconut milk. Begin and end with the dry ingredients. Gently fold in the crushed pineapple.
Bake the Cakes: Divide the batter evenly between the prepared pans. Bake for 25–30 minutes, or until a toothpick inserted into the center comes out clean. Let the cakes cool in the pans for 10 minutes, then transfer them to a cooling rack.
Prepare the Tropical Icing: Beat the cream cheese and butter together until smooth. Gradually add the powdered sugar, one cup at a time, until fully incorporated. Mix in the pineapple juice and coconut extract. Adjust the consistency by adding more juice if needed.
Assemble the Cake: Place one cake layer on a serving plate. Spread a layer of icing on top, then place the second cake layer. Frost the top and sides of the cake with the remaining icing.
Garnish: Sprinkle shredded coconut over the top and sides of the cake for decoration.