1. Preheat oven to 325 degree F and line the bottom of 2 buttered 9x2-inch round cake pans with parchment. Butter paper and dust pans with flour, knocking out excess flour.
2. Whisk together flour, baking powder, and salt in a medium bowl.
3. Whisk together cream of coconut, milk, and extracts in a bowl.
4. Beat together butter and granulated sugar in a large bowl with an electric mixer on high speed until fluffy, about 3 minutes. Add whole eggs and egg whites, 1 at a time, beating well after each addition, until combined well. On low speed, beat in flour mixture and cream of coconut mixture alternately in batches, beginning and ending with flour mixture, until just combined (do not overbeat).
5. Pour batter evenly into the prepared cake pans (about 2-3/4 cups per pan) and smooth tops. Bake cake layers in middle of oven until golden and a cake tester inserted in centers comes out clean, 35 to 40 minutes. Transfer pans to racks and let cool for 5 minutes. Run a small knife around edges of pans and invert layers onto racks. Peel off paper, then reinvert layers right side up and cool.Make Frosting and Filling::
6. Beat cream cheese in a large bowl with an electric mixer until fluffy. Beat in butter and lime zest until smooth. Slowly beat in confectioners' sugar on low speed until smooth for frosting. Transfer 1 cup of frosting to a bowl and fold in pineapple for filling.
7. Place 1 cake layer on a serving platter and spread top evenly with filling. Refrigerate until firm, about 20 minutes. Top with second layer, then spread top and sides with frosting. Chill cake until frosting is slightly firm. Coat top and sides of cake evenly with coconut flakes. Makes 8 to 10 servings.