Preheat the oven to 350 degrees F. Butter two 8-inch square cake pans, line the bottoms with parchment paper. Butter the parchment and dust with flour, tapping out excess.
Whisk the flour, sugar, cocoa powder, baking soda, baking powder and salt together in a large bowl. Whisk the melted butter, buttermilk, egg, vanilla and 1/2 cup water together in another bowl until smooth. Add the wet ingredients to the dry ingredients, whisking until just combined. Divide the batter between the prepared cake pans, smoothing the tops. Bake, rotating the pans halfway through cooking, until a toothpick inserted in the center of each cake comes out clean, about 25 minutes.
Let the cakes cool in the pans for 15 minutes, then turn them out onto a cooling rack set over a baking sheet. Discard the parchment paper and flip the cakes right side up again. Let the cakes cool completely.
Make the coconut filling: Pulse the coconut in a food processor until finely chopped and transfer to a large bowl. Combine the gelatin with 2 tablespoons cold water in a small microwaveable bowl and let stand for 5 minutes to soften. Heat the gelatin in the microwave until it melts completely, about 10 seconds, stirring to dissolve. Add the gelatin mixture, cream cheese, sour cream, coconut milk, sugar, vanilla and coconut extracts and salt to a food processor and process until smooth, at least 1 minute. Scrape the mixture into the bowl containing the chopped coconut and mix until evenly combined. Let the mixture sit until it is just thick enough to spread, about 10 minutes. (Do not let the filling firm up too much.)
Place one cake on a cake stand and pile the coconut filling in the center, spreading it in a thick layer almost to the edge. Top with the remaining cake, aligning the layers directly on top of each other so the cake does not lean. Refrigerate the assembled cake for 1 hour.
Meanwhile, make the chocolate ganache: Bring the cream to a simmer in a small saucepan then remove from the heat. Add the chocolate, shaking the pan gently to submerge it. Allow the pan to stand, off the heat, for 3 minutes to melt the chocolate. Whisk the ganache until smooth, then refrigerate until it is just thick enough to spread (like mayonnaise), about 15 minutes. (Do not let the ganache harden too much.)
Stir the ganache again and scoop it on top of the cake, spreading it over the top and sides. Make a swirl pattern on the top with a spatula to resemble a coconut candy. Refrigerate the cake until the ganache is set, at least 1 hour or overnight.
When measuring flour, we spoon it into a dry measuring cup and level off the excess. (Scooping directly from the bag compacts the flour, resulting in dry baked goods.)
Copyright 2016 Television Food Network, G.P. All rights reserved.