In a mixing bowl, whisk together the flour, sugar, baking soda, and salt. Add the water, oil, vanilla, and vinegar and whisk until smooth. Fold through the coconut flakes. The batter should look smooth and thick.
Grease two 8-inch cake pans and divide the batter between the two.
Bake the cakes for 30-35 minutes, or until a skewer comes out clean, the edges are lightly golden, and the centers spring back.
Let the cakes cool completely before frosting.
To make the frosting, beat the cream cheese until smooth and creamy. Slowly add in the powdered sugar until combined. Add the cream and coconut extract and beat until stiff peaks form. The frosting should be thick, fluffy, and easy to spread.
Notes
TO STORE: If I know that we'll be enjoying the cake within a few days, I suggest keeping it at room temperature, covered, for up to 3 days. For longer storage, refrigerate it for up to 1 week. Let it sit at room temperature for 30 minutes before enjoying. TO FREEZE: Wrap unfrosted cake slices in plastic wrap, store them in a freezer-safe container, and freeze for up to 6 months. Let it thaw overnight in the fridge.