In a medium bowl, whisk together the egg, eggnog, milk, sugar, vanilla, rum (if using), nutmeg, and cinnamon.
Use the softened butter to grease a 9x5-inch loaf pan and place the bread inside the pan, gently pressing it down. Briefly re-whisk the liquid ingredients and pour over the bread, covering all of the exposed areas. Cover and refrigerate for at least 30 minutes (this can also be made the day before and refrigerated overnight).
Preheat the oven to 350°F. In a small bowl, combine the flour, brown sugar, nutmeg, cinnamon and salt with a fork. Add the cold butter and press the mixture together, stirring until a crumb topping has formed.
Press the bread down gently until the liquid begins seeping up. Spread the topping evenly on top. Bake for 55-60 minutes, until the top is golden and crunchy.
Allow to cool for several minutes before slicing and serving.
Notes
Chill for at least 30 minutes before baking to allow the custard to absorb, or up to overnight.
For best results, use 1-2 day old challah, or substitute brioche.