Toast the bread: If your bread is fresh, start by toasting the bread cubes on a large baking sheet in a 350°F oven for 15-20 minutes or until crisp and golden. You can also leave them out on the counter overnight.
Prep the pan + bread: Grease a 9x13-inch baking dish. Place the brioche cubes in the baking dish.
Make the custard: In a large bowl, beat the 6 eggs first until smooth. Then whisk in the 1 teaspoon cinnamon. Next add the 2 1/2 cups milk, 1/2 cup cream, 3/4 sugar, 2 teaspoons vanilla, and 1/2 teaspoon salt until smooth.
Soak: Pour custard evenly over the bread. Press gently so the top layer gets a little custard too. Cover tightly with plastic wrap and refrigerate overnight (8–12 hours). * If you are running short on time, you can bake right away but it will turn out much more custardy and soft than if you let it sit overnight.
Bake: Heat oven to 350°F. Remove the plastic wrap and cover with foil. Bake covered for 30 minutes..
Add the churro crust: While it bakes, melt the 4 tablespoons of butter in a small skillet and stir together the 3/4 cup sugar + 2 teaspoons cinnamon in a small bowl. Remove dish from oven, uncover, and drizzle melted butter evenly over the top. Sprinkle the cinnamon-sugar mixture generously over everything. It will seem like too much sugar but use it all, this is how you get that crunchy churro crust.
Finish baking: Place the baking dish on a parchment-lined baking sheet to catch any drips and return to the oven uncovered and bake 25-30 minutes more, until the center is set (no liquid custard) the casserole is puffed and the top looks crackly and deeply golden.
Let stand: 10–15 minutes so slices hold together. Cut into 12 squares.
Serve: Serve pieces warm or room temperature with berries and a drizzle of cream or any of the other topping suggestions. Store tightly covered in the refrigerator for up to 3 days.