Preheat oven to 350°F (180°C). Grease and line two 8-inch cake pans with parchment paper.
In a medium bowl, whisk together the gluten-free flour, shredded coconut, baking powder, and salt.
In a large bowl, mix eggs and sugar until combined. Add coconut milk, vegetable oil, vanilla extract, and coconut extract.
Gradually add the dry ingredients to the wet ingredients, stirring until just combined. Do not overmix.
Pour batter evenly into prepared pans and bake for 20-25 minutes, or until a toothpick inserted into the center comes out clean.
Let cakes cool in pans for 10 minutes before inverting onto a wire rack to cool completely.
Prepare frosting: Beat butter and cream cheese until fluffy. Gradually add powdered sugar, then vanilla, salt, and coconut milk until smooth.
Once cakes are fully cooled, assemble by frosting between layers and over the entire cake.