Preheat oven to 350 degrees F. Line the bottom of two 8 inch cake pans with parchment paper and spray the bottom and sides of the pan lightly with cooking spray.
In mixing bowl, whisk together flour, baking powder and salt. Set aside.
In a separate mixing bowl, beat the butter on medium speed with an electric hand mixer or stand mixer for 1 minute, until light and fluffy. Add sugar and mix 1 minute.
Add 1 1/4 cups coconut milk and coconut extract and mix.
Gradually add flour mixture and mix on medium speed for 2 minutes.
In another bowl, beat egg whites until stiff peaks form. Fold the egg whites into the batter until incorporated.
Divide cake batter evenly between prepared cake pans. Bake at 350 degrees F for 25-35 minutes, or until a toothpick inserted in the center of the cake comes out clean, or with few moist crumbs.
Remove the pans from the oven and allow to cool for 5 minutes before inverting them onto a cooling rack to cool completely.
Once cakes have cooled, use a sharp serrated knife to torte/cut each cake round in half horizontally, so that you end up with four thin cake rounds.
Add all ingredients to medium saucepan over medium heat. Stir well to combine. Cook, stirring frequently, until mixture thickens and looks "glossy", about 5-8 minutes.
Pour filling into a container and place a piece of plastic wrap directly on the surface of the filling. Once cooled, cover container and refrigerate until ready to use, up to one week.
Coconut Cream Cheese Frosting:
Beat butter and cream cheese together until smooth. Add powdered sugar and a splash of the remaining coconut milk and mix until smooth and fluffy, about 3 minutes.
Add a little more milk, to thin, or powdered sugar to stiffen, if needed, until you reach your desired frosting consistency.
Stir in coconut flakes, saving some for sprinkling on the sides and top of the cake, if desired.
Place one cake layer on serving plate. Spread half of the pineapple filling over it. Top with another cake layer, and smooth a layer of cream cheese frosting over it.
Top with third cake layer. Spread remaining half of the pineapple filling over it. Top with last (4th) cake layer. Frost the sides and top of the cake with coconut cream cheese frosting. Sprinkle outsides of cake with shredded coconut, if desired.
Refrigerate for at least 4 hours, before serving. (Tastes even better the next day!)
Make Ahead and Freezing Instructions: This is one of those cakes that really tastes better after it's been in the fridge for at least 4 hours, and I think it tastes even better on day two!I like to prepare the cake, pineapple filling, and coconut cream cheese frosting a few days in advance, so each element is ready for whenever I choose to assemble it. Bake the cakes, and allow to cool completely. Torte in half, then wrap each layer really well in plastic wrap and place in a ziplock freezer bag. Freeze for up to one month. Frozen cakes are easier to work with, and to frost.The pineapple filling and coconut frosting can be made up to a week in advance, or frozen for several weeks. Allow the coconut frosting to come to room temperature before using.