Preheat the oven to 300°F / 150°C. Toast 1 cup of chopped pecans on a baking sheet for 8 minutes. Raise the oven to 350°F / 175°C and grease a 9 × 13in / 23 × 33cm baking pan.
Whisk 1¾ cups of all-purpose flour, ¾ cup of natural unsweetened cocoa powder, 1¾ cups of sugar, 2 teaspoons of baking soda, 1 teaspoon of baking powder, and 1 teaspoon of salt in a large bowl.
In another bowl, whisk ½ cup of vegetable oil, 2 eggs, ¾ cup of sour cream, ½ cup of buttermilk, and 2 teaspoons of vanilla extract. Pour into the dry ingredients, add ½ cup of hot water, and whisk until completely combined.
Pour into the pan and bake for 35-40 minutes, until a toothpick inserted into the center comes out clean. Cool completely in the pan.
Meanwhile, for the topping, whisk ½ cup of unsalted butter, 1 cup of packed brown sugar, 3 egg yolks, and 1½ cups of evaporated milk in a saucepan over medium heat until boiling. Keep whisking for about 5 minutes, until thickened.
Off the heat, stir in 1 teaspoon of vanilla extract, 2 cups of sweetened shredded coconut, and the toasted pecans. Spread over the cooled cake.