Heat the oven to 350°F (175°C). Grease two cake pans and line the bottoms with parchment. Stir coconut milk until evenly blended.
Whisk flour, baking powder, and salt. In a separate small bowl combine coconut milk and sour cream until smooth.
Beat cake butter and sugar for 3–4 minutes. Add eggs one at a time, then vanilla, scraping the bowl after each addition.
Add dry ingredients in three additions, alternating with the coconut mixture. Fold in the cup of shredded coconut reserved for the cake.
Divide between pans. Bake 28–35 minutes, until a tester comes out clean or with moist crumbs and the centers spring back gently.
Cool in pans for 10 minutes, then turn onto racks. Peel away parchment and let both layers cool completely.
Beat frosting butter with powdered sugar, vanilla, and 3 tablespoons cream until fluffy. Add more cream only if the frosting is too stiff.
Fill and cover the cake with frosting. Press the coating coconut gently onto the sides and scatter the rest over the top.