Prep the pan: Grease a 9x13-inch baking dish with butter. If your bread is very fresh, spread cubes on a tray and let them dry out for 30–60 minutes.
Layer the casserole: Add half the bread cubes to the dish.
Sprinkle with half the blueberries. Add the remaining bread and scatter the rest of the blueberries on top.
Make the custard: In a large bowl, whisk eggs, milk, granulated sugar, brown sugar, vanilla, cinnamon, salt, lemon zest (if using), and the melted butter until smooth.
Pour and soak: Slowly pour the custard evenly over the bread. Gently press the top with the back of a spoon to help the bread absorb the liquid.
Optional crumble topping: In a small bowl, mix flour, brown sugar, cinnamon, and salt.
Cut in the cold butter with a fork or fingers until crumbly. Cover and refrigerate.
Chill: Cover the casserole with plastic wrap or foil and refrigerate at least 1 hour, preferably overnight (8–12 hours) for best texture.
Preheat and top: When ready to bake, preheat oven to 350°F (175°C). If using the crumble, sprinkle it evenly over the chilled casserole.
Bake: Bake uncovered for 45–55 minutes.
The center should be set and the top golden. If browning too quickly, tent loosely with foil for the last 10–15 minutes.
Rest and serve: Let it rest for 10 minutes before slicing. Serve warm with maple syrup or a dusting of powdered sugar.