Grease a 9×13-inch baking dish with butter or nonstick spray.
In a saucepan over medium heat, melt the butter. Stir in brown sugar, corn syrup, and salt. Cook, stirring, for 2 to 3 minutes until smooth and glossy.
Pour the caramel into the baking dish and spread evenly.
Add bread cubes in an even layer over the caramel.
In a large bowl, whisk eggs. Add half-and-half, milk, sugars, vanilla, cinnamon, nutmeg (if using), and salt. Whisk until combined.
Pour custard evenly over the bread. Press bread down gently to coat.
Cover tightly and refrigerate 8 hours or overnight.
Preheat oven to 350°F. Keep casserole covered with foil and bake 35 minutes.
Remove foil and bake 15 to 20 minutes more until golden and set. Rest 10 minutes.
Sprinkle granulated sugar in a thin, even layer over the top.
Caramelize the sugar under the broiler for 1 to 3 minutes (watch constantly) or use a kitchen torch until golden and crisp.
Serve warm.