I like to use my 5-quart braiser for this dish, because it can go from stovetop to oven. If you don’t have one of those, you can do the stovetop part in a 12-inch skillet and the baking part in any 5-quart baking dish. You can prepare this casserole the day before, store it tightly covered in the fridge and bake it the next morning. Remove from fridge about an hour before baking if possible, otherwise it may need to bake a little longer.
Melt the butter in the braiser or skillet over medium-high heat. Add the onion, peppers, and shiitakes all at once, along with 1/2 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. The 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, nutmeg, cayenne, and a few good grinds black pepper. Add bread cubes and stir to moisten. Then stir in all the vegetables, half the gruyere and half the parmesan or pecorino. Pour the whole mixture back into the braiser or into the baking pan and sprinkle with the remaining cheese. Cover and refrigerate overnight or for at least a few hours before proceeding. Remove from fridge about an hour before baking if possible.
An hour before serving time, preheat oven to 375°F with a rack in the center. Bake uncovered for about 40 minutes, until puffed and golden. Serve hot or even at room temperature.