Preheat your oven to 350°F (175°C) and prepare two 9-inch round cake pans by greasing and lining them with parchment paper.
In a large bowl, cream together the softened butter and granulated sugar until light and fluffy.
Add eggs one at a time, mixing well after each addition, then stir in the vanilla extract.
In another bowl, whisk together the flour, baking powder, and salt.
Gradually add the dry ingredients to the wet mixture, alternating with the buttermilk. Start and end with the dry ingredients, mixing just until combined.
Fold in the drained crushed pineapple and shredded coconut carefully.
Divide the batter equally between the prepared cake pans and smooth the tops evenly.
Bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean.
Once baked, allow the cakes to cool in the pans for 10 minutes, then transfer to wire racks to cool completely.
Prepare the frosting by beating together the softened cream cheese, powdered sugar, and coconut milk until smooth.
Once the cakes are completely cool, frost the top of one layer, add the second layer, and frost the top and sides of the cake.
Garnish with extra shredded coconut on top if desired and serve to your delighted guests.