Preheat your oven to 350°F (175°C). This ensures that your cake bakes evenly.
Grease and flour two 9-inch round cake pans. This will help your cakes to release easily once baked.
In a large bowl, whisk together the all-purpose flour, unsweetened cocoa powder, baking soda, and sugar. Set this mixture aside.
In another bowl, beat together the softened butter and Crisco shortening until light and fluffy. This should take about 2-3 minutes.
Add the egg yolks, buttermilk, and vanilla extract to the butter mixture. Mix until well combined.
Gradually add the dry ingredients to the wet mixture, mixing just until combined. Avoid overmixing to keep the cake tender.
In a clean bowl, whip the egg whites until stiff peaks form. Gently fold the egg whites into the cake batter, being careful not to deflate them.
Fold in the unsweetened flaked coconut and finely chopped pecans to the batter.
Divide the batter evenly between the prepared cake pans and smooth the tops. Bake for 25-30 minutes or until a toothpick inserted in the center comes out clean.
Once baked, remove the cakes from the oven and let them cool in the pans for 10 minutes. Then, transfer them to a cooling rack to cool completely.
In a mixing bowl, beat together the softened cream cheese and butter until smooth. Gradually add in the powdered sugar, unsweetened cocoa powder, buttermilk, and vanilla extract. Mix until well combined and fluffy.
Once the cake layers are completely cool, place one layer on a serving plate. Spread a generous amount of frosting on top, then place the second layer on top. Frost the top and sides of the cake with the remaining frosting, then sprinkle with additional chopped pecans for decoration.