Preheat your oven to 350°F (175°C). Grease a 9×13 inch cake pan and set it aside.
In a medium bowl, whisk together the flour, baking powder, and salt. Set aside.
In a large mixing bowl, cream the butter and sugar together until light and fluffy. Add the eggs, one at a time, beating well after each addition. Stir in the vanilla extract.
Add the dry ingredients to the wet mixture, alternating with the coconut milk. Mix until just combined.
Fold in the crushed pineapple and shredded coconut.
Pour the batter into the prepared cake pan and bake for 30-35 minutes, or until a toothpick inserted in the center comes out clean.
Allow the cake to cool completely before frosting.
For the frosting, beat the cream cheese and butter together until smooth. Add the powdered sugar and vanilla extract, and beat until light and fluffy.
Spread the frosting over the cooled cake and sprinkle with toasted coconut.