Preheat oven to 350ºF. Coat a 2-quart baking dish or eight 6- to 8-ounce ramekins with cooking spray and set the dish or ramekins on a rimmed baking sheet. Put bagel pieces in baking dish or ramekins in an even layer. If using raisins, scatter on top.
In a large bowl, whisk together eggs, brown sugar, vanilla, cinnamon, nutmeg, and salt until blended. Whisk in milk, half-and-half, and orange zest.
Pour egg mixture over bagel pieces, then press down with a spatula until completely coated. Let stand at room temperature for 30 minutes, pressing down now and then to saturate bagel pieces.
Put baking sheet with the baking dish or ramekins in the oven, then pour very hot tap water into the baking sheet to about 1/4 inch up the sides of the baking dish or ramekins.
Bake until pudding is just set in the center, 60 to 75 minutes for the baking dish or 35 to 45 minutes for ramekins. Remove and let cool until warm to the touch.
Tip: Make the bagel pudding a few days ahead, cool completely, cover, and refrigerate. Reheat at 325ºF until warm.