Wipe the mushrooms clean with paper towels. Trim or remove stems. Cut the mushrooms into ½-inch pieces. Transfer to a large bowl. If using oyster mushrooms, keep them in a separate bowl.
In a large pan over medium heat, add 2 tablespoons butter and 1 tablespoon olive oil. Add shallot and cook for 2 minutes. Add all the mushrooms (except oyster if using) and thyme. Season with salt. Cook for 6 - 7 minutes until the mushroom begins to brown. Toss in the garlic (and oyster if using) and sauté for 3 more minutes. Remove from heat and set aside.
Bring a large pot of water (salted) to a boil over high heat. Cook the pasta until tender but still firm to the bite, stirring occasionally. Reserve ½ cup of pasta water. Drain and rinse the pasta with water until cool.
Preheat the broiler to high.
Meanwhile, in a medium saucepan over medium-low heat, melt 2 tablespoons butter. Add the flour and whisk for 2 minutes. Slowly whisk in the milk. Cook for 5 minutes, whisking occasionally to prevent sticking on the bottom. Reduce heat to low. Whisk in cheeses and stir until fully incorporated. Season with salt and pepper. Stir in the mushrooms and macaroni. Cook for another 2 minutes until warmed through. Adjust with seasoning if needed. If the mixture is too thick, thin it out with a bit of the reserved pasta water.
Transfer the mac and cheese to a medium baking dish or individual baking dishes. Sprinkle the top with panko. Season with salt and pepper. Bake in the broiler for 2 – 5 minutes or until golden brown. Keep an eye on the panko as they may get burn quickly. Remove from oven. Allow the mac and cheese to sit for 5 minutes before serving. Serve hot.