Whisk the sugar, cocoa, cornstarch, and salt together in a heavy medium saucepan. Add about 3 tablespoons of the milk and whisk to form a smooth paste. Whisk in the remaining milk and the cream. Using a silicone spatula or a wooden spoon, stir the mixture constantly over medium heat, scraping the bottom, sides, and corners of the pan, until the pudding thickens and begins to bubble at the edges, about 5 minutes. Continue to cook and stir for 1 minute, then add the chocolate and stir briskly until the chocolate is melted and the pudding is smooth, about 30 seconds longer. Remove from the heat and stir in the vanilla and rum, if using. Divide the pudding among the cups or ramekins. (I love skin on pudding, so I wouldn’t dream of pressing a piece of plastic wrap on the surface for later removal, and you needn’t tell me if you do.) Serve warm or at room temperature or chilled. The pudding can be covered and refrigerated for up to 3 days.
Serve with poured cream or whipped cream or crème fraîche, if desired.