Heat the oven to 350°F. Spray the bottoms of two 9-inch round cake pans with the cooking spray. Cut rounds of cooking parchment paper to fit each pan and then line bottoms of pans with the paper.
Coarsely chop the chocolate. Gently heat the heavy cream on the stove over medium heat or in the microwave on 50% power until almost boiling. Pour over chopped chocolate and allow to sit, undisturbed, for about 5 minutes. Stir to combine (chocolate should be fully melted by the time you stir. If not, you can heat in microwave on 50% power in 30 second increments). Allow mixture to cool.
In a medium bowl, whisk together the flour, baking soda and salt until mixed. Set aside.
In the bowl of a stand mixer, beat sugar and butter with paddle attachment on medium to high speed until light and fluffy; set aside. Note - you can't overmix the butter and sugar, so be sure to keep mixing until it is very light and fluffy, scraping the bowl as needed to ensure it is fully mixed.
Reduce speed to medium and add 1 egg yolk at a time into the sugar mixture until mixed. Reduce speed to low and mix in the melted chocolate and vanilla. With speed still on low, alternate adding the flour mixture and buttermilk until fully incorporated. Once all ingredients are mixed in, increase speed to high for just a few seconds to really whip it together. Transfer this batter to a large clean bowl and wash stand mixer bowl you were using.
Add the egg whites to the stand mixer and attach the whisk attachment. Beat on high speed until soft peaks form. Do not overmix. You basically want the whites to be light and fluffy so that when you stop mixing and pull the whisk out, the peak that it pulls on it's way out holds it's shape. If you over mix, the whites will break.
Add egg whites to the batter and genltly fold in using a rubber spatula to turn the batter over the egg whites, continuing until all of the egg whites are fully mixed in. Be sure to be as gentle as possible using the least amount of mixing required to fully incorporate.
Pour batter into pans, using a rubber spatula to scrape the batter from bowl. Spread batter evenly in pans and smooth top of batter.
Ensure oven racks are adjusted so that cakes bake in center of oven and bake in preheated oven 30 to 40 minutes, or until a toothpick inserted in the center comes out clean. Cakes should also start pulling away from sides of pan once cooked.
Cool cakes in pans on cooling rack. When pans and cake are still hot but cool enough to touch, flip cakes out of pan by placing your hand on the cake, inverting pan to release, then set back down on cooling rack with parchment round side down. Allow to fully cool on cooling rack.
To make the coconut topping:
In a medium sized saucepan, stir the egg yolks, sugars, butter, evaporated milk and vanilla until well mixed. Cook over medium heat about 10-12 minutes, stirring frequently, until thick and bubbly. Stir in the coconut and pecans. Cool about 30 minutes, beating occasionally with a spoon, until mixture is spreadable.
To make the frosting:
Add butter to bowl of stand mixer. Using paddle or whisk attachment, beat until light and fluffy. Add the cocoa powder and powdered sugar. Mix on low speed to combine. With the mixer running, add the evaporated milk and the vanilla. Once combined, increase speed to high and blend until fully mixed and smooth. Frosting will be thick.
To assemble the cake:
Remove parchment rounds from cakes. Place 1 cake layer, rounded side down, on a cake plate. To keep plate clean, you can slide strips of parchment paper under the edges of the cake while you frost and then remove once the cake has been decorated.
Spread half of the coconut mixture over the top of the cake. Add second layer and spoon the rest of the coconut mixture on top. I left about an inch of space around the edge of the cake for the frosting.
Add the chocolate frosting to a pastry back with a star tip. Pipe stars around the top edge of the cake. Pipe remaining frosting around the sides to coat and then use a spatula to smooth, taking care not to touch the stars on the top.