Make the cake:
Preheat oven to 350°F (175°C). Grease and flour the cake pans.
In a large bowl, whisk together flour, cocoa powder, baking powder, baking soda, and salt.
In another bowl, whisk together sugar, oil, eggs, buttermilk, and vanilla extract.
Add the wet ingredients to the dry ingredients and mix until just combined. Slowly stir in the boiling water until smooth.
Pour batter evenly into the prepared pans.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out clean.
Cool cakes in pans for 10 minutes before inverting onto wire racks to cool completely.
Make the filling:
In a saucepan, melt butter over medium heat. Stir in brown sugar until combined.
Remove from heat and whisk in egg yolks, one at a time. Slowly whisk in evaporated milk and vanilla extract.
Bring to a simmer over medium heat, stirring constantly, until thickened (about 5 minutes). Do not boil.
Remove from heat and stir in coconut and pecans. Spread filling evenly over one cooled cake layer.
Make the frosting:
In a saucepan, melt butter over medium heat. Whisk in cocoa powder and flour until smooth.
Stir in condensed milk and vanilla extract. Bring to a simmer over medium heat, stirring constantly, until thickened (about 5 minutes). Do not boil.
Remove from heat and let cool slightly. Spread frosting over the top of the coconut-pecan filling and the top of the cake.
Top with additional chopped pecans, if desired.
Serve:
Let the cake cool completely before serving. Slice and enjoy!