Preheat oven to 350°F (175°C). Grease and flour two 9-inch round cake pans and line the bottoms with parchment paper. In the bowl of a stand mixer fitted with the paddle attachment, whisk together the flour, sugar, cocoa powders, baking soda, baking powder, and salt on low speed for 30 seconds to combine and aerate.
Add the eggs, buttermilk, hot coffee, oil, and vanilla to the dry ingredients. Mix on medium speed for exactly 2 minutes. The batter will be thin—this is correct and ensures a moist cake. Trust me, don't be tempted to add more flour. Divide the batter evenly between the prepared pans.
Bake for 30-35 minutes, or until a toothpick inserted into the center comes out with a few moist crumbs. Do not overbake. Let the cakes cool in the pans for 15 minutes, then turn them out onto a wire rack to cool completely. Level the tops with a serrated knife if they have domed.
For the icing, beat the softened butter in a clean stand mixer bowl with the paddle attachment on medium-high speed for 3-4 minutes until very pale and fluffy. Tip from me: This step is non-negotiable for a smooth, velvety texture. Gradually add the sifted powdered sugar and cocoa powders, alternating with the milk and vanilla, beating on low speed after each addition.
Once all ingredients are incorporated, add the salt and black cocoa (or black food gel). Beat on medium-high speed for a full 3 minutes until the icing is incredibly smooth, dark, and spreadable. If it's too thick, add milk 1 tsp at a time. If it's too thin, add a bit more powdered sugar.
Place one cake layer on a serving plate. Spread with about 3/4 cup of icing. Top with the second layer. Apply a thin 'crumb coat' of icing over the entire cake and chill for 15 minutes. This seals in crumbs. Finally, frost the cake with the remaining icing, using an offset spatula to create smooth sides and a swirled top. Slice, serve, and enjoy!