Preheat the oven to 350F. Butter an oven safe 9x13 baking dish and dust with flour making sure to shake out any excess flour. Set aside.
In a mixer fitted with a paddle, cream butter and sugar on medium speed until pale yellow and fluffy, about 4 minutes. Add eggs one at a time while scraping the bowl with a spatula before adding each subsequent egg. Add extracts and continue to beat for another 2-3 minutes.
In a medium mixing bowl, combine all dry ingredients and whisk to combine. Set aside.
In another medium mixing bowl, combine coconut milk and sour cream and whisk to combine. Set aside.
Add ⅓ of the dry ingredients to the whipped eggs mixture and mix on low speed until just combined. Add ½ of the coconut milk mixture and mix to combine. Repeat again with the dry ingredients and coconut mixture making sure to end with the final ⅓ of dry ingredients.
Scrape the mixing bowl and stir with a spatula a few times to make sure the batter is well mixed and combined. Pour batter into the buttered baking dish and smooth with a spatula. Bake at 350F for 25-30 minutes or until a toothpick inserted in the center comes out clean. Cool completely before icing.
Coconut Cream Frosting
In a mixer fitted with a paddle, beat butter, coconut milk, and coconut extract until smooth and creamy. Gradually add in the sugar. Continue to beat until fully combined and smooth.
Notes
For a fluffier cake, use cake flour instead of all-purpose.