Melt the butter in the braiser or skillet over medium-high heat.
Add the onion, green pepper, red pepper, and shiitakes all at once, along with ½ teaspoon of the salt.
Cook, stirring from time to time, for about 10 minutes, until the vegetables have softened, browned a bit, and decreased in volume by at least half.
Remove from heat.
While the other vegetables cook, place the defrosted broccoli on a thick layer of paper towels and cover with another thick layer. When the veggies in the skillet have cooked as noted above, press down gently on the paper towels to remove moisture from the broccoli. Alternatively, cook the broccoli briefly in the microwave and drain well.
Add broccoli to the skillet and stir to incorporate.
Crack the eggs into a large mixing bowl and beat well with a fork.
Stir in milk, remaining salt, pepper, nutmeg, and cayenne.
Add bread cubes and stir to moisten evenly.
Stir in all the vegetables, half the gruyere and half the parmesan or pecorino.
Grease the braiser or baking pan with a little bit of butter or cooking spray and pour the whole mixture in. Sprinkle with the remaining cheese.
Let rest for at least 30 minutes — up to 24 hours — so that the bread cubes have a chance to completely absorb the liquid. If resting for more than about an hour, Cover and refrigerate.
An hour before serving time, preheat oven to 375°F with a rack in the center and remove casserole from fridge.
Bake uncovered for about 40 minutes, until puffed and golden. Serve hot or even at room temperature.