Preheat your oven to 350°F (175°C). Grease and flour three 9-inch round cake pans, or line the bottoms with parchment paper for easier removal.
In a large bowl, whisk together the sugar, flour, cocoa powder, baking powder, baking soda, and salt. Add the eggs, milk, vegetable oil, and vanilla extract. Beat on medium speed until smooth, about 2 minutes. Stir in the boiling water (the batter will be thin, but that's normal).
Divide the batter evenly between the prepared cake pans. Bake in the preheated oven for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Let the cakes cool in the pans for 10 minutes, then turn them out onto wire racks to cool completely.
In a medium saucepan, whisk together the evaporated milk, sugar, egg yolks, butter, and vanilla. Cook over medium heat, stirring constantly, until the mixture thickens and turns golden, about 10-12 minutes. Remove from heat and stir in the shredded coconut and chopped pecans. Let the filling cool to room temperature before spreading on the cake layers. It will thicken as it cools.
In a large bowl, beat the softened butter on medium speed until creamy. Gradually add the powdered sugar and cocoa powder, alternating with heavy cream. Beat until smooth and fluffy. Add the vanilla extract and beat again, adding more cream if needed to reach a spreadable consistency.
Place one cake layer on a serving plate. Spread a third of the coconut-pecan filling evenly over the top. Place the second cake layer on top and spread another third of the filling over it. Add the third cake layer and spread the remaining filling over the top.
If using the chocolate frosting, frost the sides of the cake. You can also pipe a decorative border around the top edge if desired.
Chill the cake in the refrigerator for 30 minutes before slicing to allow the filling to set. Serve at room temperature and enjoy!