Grease a 9x13-inch baking dish with butter or cooking spray.
Arrange half of the bread cubes in the bottom of the dish. Top with half of the Canadian bacon and half of both cheeses.
Repeat with remaining bread, Canadian bacon, and cheese to create a second layer.
In a large mixing bowl, whisk together eggs, milk, Dijon mustard, onion powder, garlic powder, salt, and pepper until smooth and well combined.
Pour the egg mixture evenly over the layered casserole, making sure all bread pieces get moistened. Press down gently with a spatula.
Drizzle the melted butter over the top of the casserole.
Cover with foil and refrigerate for at least 2 hours or overnight to let the bread soak up the egg mixture.
When ready to bake, preheat oven to 350°F. Bake covered for 30 minutes, then uncover and bake 10 more minutes until golden brown and puffed.
To Freeze: After step 6, wrap tightly with plastic wrap and foil instead of refrigerating. Freeze up to 2 months. Thaw in refrigerator overnight before baking as directed.