In a nonstick skillet over medium heat, add 2 teaspoons of the oil.
When the oil is hot, add the onions and saute until translucent and beginning to brown, about 4 minutes. Add the garlic and continue to cook for another 1 minute. Transfer the onion mixture to a medium bowl and allow to cool.
Heat remaining 2 teaspoons of oil in the skillet and saute the mushrooms for about 6 to 7 minutes. Make sure they are thoroughly cooked. Remove from heat and cool completely.
Spray a 9x13-inch baking dish with cooking spray.
Arrange the bread cubes in the dish.
In a large bowl, beat the eggs, milk, and mustard until incorporated.
To the eggs, add the mushrooms, onion-garlic mixture, broccoli, cheddar cheese, parmesan cheese, sun-dried tomatoes, salt, and pepper. Stir to incorporate.
Pour mixture over bread, making sure liquid saturates bread. Cover with plastic wrap and refrigerate overnight, or for at least 8 hours.