In a measuring cup or bowl, combine the coconut milk and vinegar. Let this sit while you prepare the cake batter, until slightly curdled.
Whisk together the sugar, flour, baking soda, and salt in a large bowl until combined.Add milk mixture, melted butter, and vanilla and coconut extracts. Stir until just combined. Do not over-mix.
Fold in the coconut shreds.
Pour the batter into the prepared pan. Tap on the counter three times lightly to remove any air bubbles.
Bake in the center of the oven for 28 to 33 minutes, until set in the center and a toothpick comes out clean. Cool completely in the pan.
Once fully cooled, frost with buttercream frosting and shredded coconut.
Frosting
Beat the butter, cream cheese, and coconut extract for about 2-3 minutes with a stand mixer or a handheld mixer, until fluffy.
Add 1 cup of powdered sugar. Fold it in with a spatula so it doesn’t fly everywhere, then beat for about 1 minute. Add the rest of the powdered sugar, 1 cup at a time, until fully incorporated.
Add in a 1/2 tablespoon of coconut milk at a time until it reaches your preferred volume and consistency. It should be thick and spreadable, not too soft or runny.
Beat for about 5 minutes, using the spatula to scrape down the sides regularly, until the frosting is fluffy, white, smooth and creamy.
Notes
You can use this recipe to make a single layer 9x13 cake. Grease and line a 9x13-inch baking dish with parchment paper, leaving some paper overhanging on the sides. Bake in the center of the oven for 35 to 40 minutes, until set in the center and a toothpick comes out clean. Cool completely in the pan.