To make the cake: Whisk together the flour, baking powder, and salt; set aside. In a large mixing bowl, beat together the butter, sugar, and coconut flour until well blended, 2 to 3 minutes.
Mix in the vanilla and coconut flavor. Add the eggs one at a time, mixing well after each addition.
Add the flour mixture and milk alternately to the bowl, starting and ending with the flour. Scrape the bowl and mix again briefly, to fully combine. The batter will look a little curdled; that's OK.
Divide the batter evenly between the pans. Smooth the tops with a spatula. Bake the cake for 38 to 42 minutes, or until the edges are just beginning to pull away from the sides of the pan, and the top is lightly golden. A toothpick inserted in the center will come out clean.
Remove the cakes from the oven and allow them to cool for 5 minutes. Run a spatula or knife around the edges, then turn them out onto a rack to cool completely.
To make the frosting: Combine the heavy cream and mascarpone in a large bowl and whisk at low speed until the mixture is smooth and slightly thickened. Slowly add the coconut flavor and confectioners’ sugar. Increase the speed to medium-high and whisk until medium peaks form.
To assemble: Place one cake layer on a serving plate. Spread with 1/4 of the frosting. Place the other layer on top; spread the top and sides with the rest of the frosting, piping decorations if desired. Sprinkle toasted coconut over the top and sides.
Refrigerate the cake until ready to serve; store any leftovers in the refrigerator.