Preheat your oven to 350°F (175°C). Grease and flour three 9-inch round cake pans to prevent sticking.
In a large mixing bowl, cream the softened butter and granulated sugar together until it's light and fluffy. Add the eggs one by one, mixing well after each addition. Now, stir in the vanilla and coconut extracts for extra flavor.
In another bowl, whisk together the flour, baking powder, and salt. Gradually add this dry mixture to the butter mixture, alternating with the coconut milk. Start and end with the flour mixture. Gently fold in the shredded coconut until it’s evenly mixed in.
Divide the cake batter evenly among the prepared pans. Bake for 25-30 minutes, or until a toothpick inserted in the center comes out clean. Allow the cakes to cool in the pans for 10 minutes before transferring them to wire racks to cool completely.
While the cakes are cooling, prepare the pineapple jam filling. Combine the pineapple jam and crushed pineapple in a small bowl and mix well.
For the frosting, beat the softened butter until creamy. Gradually add in the powdered sugar, alternating with the coconut milk. Keep mixing until it’s smooth, then stir in the vanilla extract.
Once the cakes are completely cool, place one layer on a serving plate. Spread half of the pineapple jam filling over the top. Add the second layer of cake and repeat the process with the remaining jam filling. Finally, add the last layer of cake.
Frost the top and sides of the cake with the delicious coconut frosting. Sprinkle the toasted shredded coconut over the frosting to decorate.