In a large mixing bowl, whisk together the half and half, milk, eggs, brown sugar, vanilla, cinnamon, and salt until well combined.
Grease a 3.5+ quart baking dish (deep 9 x 13 inch works). Arrange the bread slices so they are angled and overlap slightly.
Ladle the milk mixture over each piece of bread so it is all completely coated. Let rest for at least 15 minutes so the bread can absorb the milk mixture. (Option: Cover the casserole with foil and place it in the refrigerator overnight.)
Preheat the oven to 350 degrees while the casserole rests. Bake covered for 25 minutes (30-35 minutes if straight from the fridge).
While the casserole bakes, in a medium bowl, combine the flour, brown sugar, and cinnamon. Add in the cubed butter.
Using a pastry cutter or fork, cut the butter into the flour until it is evenly distributed and in small pea sized pieces.
After 25 minutes, uncover and add the streusel.
Bake uncovered for another 25-30 minutes or until golden and bubbly. Let cool for about 10 minutes before serving.