Preheat the oven to 350°F (175°C). Grease two 9-inch round cake pans and line the bottoms with parchment paper.
Add the flour, granulated sugar, cocoa powder, baking soda, baking powder, and salt to a large mixing bowl. Whisk until everything is evenly distributed.
Add the eggs, buttermilk, vegetable oil, and vanilla extract. Beat or whisk until the batter is smooth and no dry streaks remain.
Gradually pour in the hot coffee or hot water while mixing gently. The finished batter will be fairly thin, which is normal.
Divide the batter evenly between the prepared cake pans. Bake for 28 to 32 minutes, or until a toothpick inserted into the center comes out clean or with a few moist crumbs.
Leave the cakes in their pans for about 10 minutes. Carefully turn them onto wire racks and allow them to cool completely before frosting.
Combine the evaporated milk, granulated sugar, egg yolks, and butter in a saucepan over medium heat. Cook for 10 to 12 minutes, stirring constantly, until the mixture becomes noticeably thick.
Remove the saucepan from the heat and stir in the vanilla extract, shredded coconut, and chopped pecans. Set the frosting aside until completely cooled and thick enough to spread.
Beat the softened butter until creamy, then gradually mix in the powdered sugar and cocoa powder. Add the vanilla and enough milk to create a smooth, spreadable frosting.
Place the first chocolate cake layer on a cake plate or serving stand. Spread approximately half of the coconut pecan frosting evenly over the top.
Carefully position the remaining cake layer over the first. Spread the rest of the coconut pecan frosting generously across the top.
Spread or pipe the optional chocolate frosting around the sides of the cake. Leave the coconut pecan topping visible for the traditional German Chocolate Cake appearance.
Allow the assembled cake to settle briefly before slicing. Cut into wedges and serve at room temperature or slightly chilled.