Combine sugar, cornstarch, salt, half-and-half and milk in a saucepan. Whisk over medium heat. Add chocolate and whisk 2-4 minutes until chocolate melts and edges begin to bubble.
Remove from heat and whisk in vanilla extract. Scrape into a bowl. Press a layer of parchment paper or plastic wrap right against the surface of the pudding to prevent a skin from forming. Refrigerate at least 4 hours until cold.
Preheat oven to 325°F Butter and flour two 9" cake pans.
In a large bowl, whisk together flour, baking powder, baking soda and salt.
Melt butter over medium heat. Add cocoa powder and stir well. Cook 1 minute. Remove from heat and whisk in coffee and buttermilk. Add white sugar and brown sugar and whisk until sugar is dissolved. Add eggs and vanilla and whisk well. Whisk in dry mixture, a little at a time, until fully incorporated; do not overmix.
Divide batter evenly between the prepared cake pans. Bake in preheated oven until a toothpick comes out bearing just a couple of crumbs, 30-35 minutes. Cool in pans 15 minutes, then invert onto cooling racks and allow to cool completely.
Divide each layer in half horizontally, making 4 equal layers. Take the "ugliest" looking layer, and crumble into a bowl, making fairly large crumbs.
Using an offset spatula, spread 1 cup pudding over bottom layer. Top with next layer, then another 1 cup of pudding, then the last layer. Frost top and sides of cake with remaining pudding. Be sure to push pudding in between layers when frosting sides. Sprinkle top and sides with cake crumbs.