Clean and cut broccoli into bite size pieces, and toss in oil with a pinch of salt. Preheat oven to 450 degrees F. After cutting, cleaning and seasoning broccoli, lay on a sheet tray and cook for 10 minutes until broccoli becomes brown on the edges. Do not cook all of the way through. Set aside ½ cup of broccoli.
Heat 2 teaspoons of the oil in a nonstick skillet over medium heat. Add the onions and sauté until they are translucent and begin 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 sauté the mushrooms until they release all of their water, about 6 to 7 minutes. Remove from heat and cool completely.
Spray a rectangular casserole dish (9" L x 5-1/2" W x 2" H, with a 22 ounce capacity) with cooking spray. Arrange the bread cubes in the dish. In a large bowl, beat the eggs, milk and mustard until incorporated. Pour mixture over bread, making sure liquid saturates bread. Cover with plastic wrap and refrigerate overnight, or at least 8 hours.
Add mushrooms, onion-garlic mixture, broccoli, parmesan, sun-dried tomatoes, thyme, and salt and pepper and stir to incorporate. Top with slices of mozzarella and remaining leftover broccoli.
Preheat oven to 325 degrees F. Bake for 45 minutes, or until the top forms a light brown crust.