Preheat the oven to 350°F (175°C).
Lightly grease a 9 × 13-inch baking dish with softened butter.
Place the bread cubes in the prepared baking dish.
Scatter most of the chocolate chunks throughout the bread, reserving approximately 1/3 cup for the topping.
In a large bowl, whisk together the eggs, whole milk, heavy cream, brown sugar, vanilla extract, and salt.
Slowly pour the custard mixture evenly over the bread.
Gently press the bread into the custard and allow it to soak for 15–20 minutes.
Bake uncovered for 30 minutes.
Carefully remove the baking dish from the oven.
Scatter the mini marshmallows, remaining chocolate chunks, and broken graham crackers over the top.
Return to the oven and bake for another 10–15 minutes, until the custard is set and the marshmallows are lightly toasted.
For additional browning, broil very briefly while watching constantly.
Remove from the oven and rest for approximately 10 minutes.
Serve warm.