Preheat oven to 350 degrees Fahrenheit. Grease and line cake pans with parchment paper.
In a bowl, whisk together flour, baking powder, baking soda, and salt until evenly combined.
In a separate large bowl, beat butter and sugar until light and creamy in texture.
Add eggs one at a time, mixing well after each addition. Stir in vanilla extract.
Add coconut milk and crushed pineapple. Mix on low speed until combined.
Gradually add dry ingredients into wet ingredients, mixing gently until a smooth batter forms.
Fold in shredded coconut evenly using a spatula.
Divide batter evenly between prepared pans and smooth the surface.
Bake for 25 to 30 minutes or until a toothpick inserted in the center comes out clean.
Remove from oven and cool in pans for 10 minutes, then transfer to a wire rack to cool completely.
For filling, cook pineapple, sugar, cornstarch, and water over medium heat until thickened. Cool fully.
For frosting, beat butter and cream cheese until smooth. Add powdered sugar gradually, then mix in coconut milk and vanilla.
Assemble cake by layering cake, pineapple filling, and frosting. Repeat layers as needed.
Apply a crumb coat, chill briefly, then finish frosting the cake evenly.