Heat 2 Tbsp. (30 mL) of the oil in a frying pan and add the onions. Cook for about 15 minutes over medium heat, stirring often until soft and slightly caramelized. Reserve.
Heat the remaining oil in the same frying pan and toss in the button mushrooms, stirring them until coated. Add the pinch of salt to draw out the water from the button mushrooms, and continue cooking. When the water from the button mushrooms is almost evaporated, add the sliced shiitakes. Sauté until almost done, about 5 to 8 minutes, adding more oil if necessary. Then add the garlic, sage, and thyme and sauté for another 2 to 3 minutes. Be careful not to burn the garlic.
Combine the milk, cream, and chicken stock in a saucepan and heat to a simmer, and very gradually whisk the hot liquid into the beaten eggs. Add salt and pepper. Be generous. In a greased 10-cup (2.4-L) baking dish, place a layer of bread slices, then a layer of the chicken. Add another layer of bread, then the mushrooms and onions. Finish with a layer of bread cut in cubes. Pour the milk mixture over the strata. Cover with plastic wrap and press down so that all the bread soaks up the liquid. Leave for at least half an hour.
Preheat the oven to 375°F (190°C).
Sprinkle with the Parmigiano, then bake for 50 minutes to 1 hour. If the top starts to get to dark, cover with foil. The strata should rest for 10 minutes before serving.
Chicken
Any leftover chicken will do for this dish, or use the recipe for poaching chicken from Persian Chicken Salad, leaving out the ginger. You could also marinate breasts in lemon, garlic, olive oil, and pepper and pan-fry or grill them.