1. Preheat oven to 350°.
2. To prepare cake, lightly coat 2 (9-inch) cake pans with cooking spray.
3. Weigh or lightly spoon flour into dry measuring cups; level with a knife. Combine flour, baking powder, cinnamon, and 1/4 teaspoon salt, stirring well with a whisk.
4. Place butter, 1/2 cup granulated sugar, brown sugar, and ginger in a large bowl; beat with a mixer at medium speed until well blended (about 5 minutes). Add egg yolks, 1 at a time, beating well after each addition. Beat in molasses. Beating at low speed, add flour mixture to butter mixture alternately with coconut milk, beginning and ending with flour mixture.
5. Place 4 egg whites in a large, clean bowl; beat with a mixer at high speed until soft peaks form using clean, dry beaters. Gradually add remaining 1/4 cup granulated sugar, 1 tablespoon at a time, beating until stiff peaks form.
6. Gently stir one-fourth of egg white mixture into batter; gently fold in remaining egg white mixture. Pour batter into prepared pans.
7. Bake at 350° for 25 minutes or until a wooden pick inserted in center comes out clean. Cool in pans 10 minutes on a wire rack. Remove from pans; cool completely on wire racks.
8. To prepare frosting, place 3 egg whites and dash of salt in a large bowl; beat with a mixer at high speed until foamy using clean, dry beaters. Combine 3/4 cup granulated sugar and 1/4 cup water in a small saucepan; bring to boil. Cook, without stirring, until candy thermometer registers 250°. Pour hot sugar syrup in a thin stream over egg white mixture, beating at high speed until stiff peaks form. Beat in vanilla.
9. Place 1 cake layer on a plate; spread with marmalade and 1 cup frosting. Top with remaining cake layer. Spread remaining frosting over top and sides of cake; sprinkle top of cake with toasted coconut. Store cake loosely covered in refrigerator.