Make the rum syrup. In a small saucepan heat the water, rum, coconut extract and sugar until the sugar dissolves completely. Simmer for 5 minutes then remove from heat.
Sift together dry ingredients: cake flour, baking powder, and salt and set aside. Line and grease two 9-inch cake pans with butter then dust lightly with flour.
In a bench-top mixer (with the paddle attachment), cream butter and sugar until pale in color and light and fluffy - about 2 to 3 minutes. Scrape down the sides with a rubber spatula then with the mixer on low add eggs 1 at a time. Mix for 2 to 3 minutes. Add the milk, coconut and vanilla extract and mix on low until combined. Gradually add the flour mixture, scraping down the sides, if necessary. Once flour is fully incorporated stop the mixer.
Divide batter evenly amongst the 2 cake pans and bake in the center of the oven for 40 to 50 minutes until a cake tester inserted into the center comes out clean. When done, transfer cakes to wire racks and allow to cool completely.
Remove paper lining then carefully cut each cake in half horizontally using a bread knife. Remove the domed top off 1 of the halves so you have 3 flat disks and 1 domed disk (this will be the top layer).
Assemble the cake directly on your platter by layering 1 of the disks on the plate as a base. Using a pastry brush, wet the layer evenly with the rum syrup then spread with a 1/2-inch of coconut cream. Repeat this process of wetting and spreading until you reach the 4th top layer which will be the domed disk. Place on top and lightly wet the entire cake with remaining rum mixture. Cover the rest of the cake with the frosting and sprinkle all over with coconut flakes.
Set in the refrigerator for 1 hour before serving.
In a stand mixer fitted with whip attachment, whip the butter until light and fluffy. Add the sugar, 1 cup at a time, until fully incorporated. Add the coconut and vanilla extracts and pinch salt and blend just until incorporated. Refrigerate until needed, but no longer than 20 minutes.