For the Cake: Heat the oven to 350 degrees F and arrange a rack in the middle. Coat 2 (9-inch) round cake pans with butter and dust with cocoa powder.
In a large mixing bowl, whisk together cocoa, flour, espresso powder, baking soda, and baking powder until well combined; set aside. Combine the sugar, oil, eggs, vanilla, and salt in a separate large bowl, and whisk until combined and smooth. Combine the milk and coffee in a small bowl. Add 1/3 of the milk mixture into the sugar/egg mixture and whisk until just incorporated. Add 1/3 of the flour mixture, and whisk until smooth. Continue with the remaining milk and flour mixture, alternating between each and whisking until all the ingredients are just incorporated and smooth.
Divide the batter evenly between prepared pans. Put the pans on a baking sheet. Bake, rotating the baking sheet 180 degrees halfway through, until a tester inserted in the center comes out clean, about 25 to 30 minutes.
Remove the cakes from the oven and let them rest, in the pans, on a cooling rack for 10 to 15 minutes. Remove the cakes from the pans, and cool completely before proceeding.
For the Pudding: Combine the sugar, cornstarch, cocoa powder, espresso powder and salt in a medium saucepan and whisk to evenly combine. Whisk in the milk and vanilla until completely incorporated and the mixture is smooth. Whisk in the egg yolks until combined.
Cook over medium-low heat, stirring constantly, until mixture thickens and bubbles, about 7 minutes. Reduce the heat to low and cook, stirring constantly, until completely thickened, about 1 minute more.
Remove from the heat and immediately add the chocolate and the butter, and stir until melted and evenly combined. Put plastic wrap directly on surface of the pudding and chill at least 1 1/2 hours.
To assemble: Arrange 1 of the cakes on a flat cake plate and top with 1/3 of the pudding, spreading evenly and almost to the edges. Top with second cake then use the remaining pudding to frost the top and sides of the cake.
Press the cookie crumbs into the sides and top of the cake. Pick up any fallen crumbs and apply them, pressing gently to cover the cake completely. Cover loosely with plastic wrap and refrigerate at least 30 minutes before serving.
For the Whipped Cream: In a medium bowl, add the cream and whisk until soft peaks form. Add the rum and continue to whisk until stiff and the cream sticks to the whisk. Serve the whipped cream on the side.