Preheat oven to 375°F and butter a shallow baking dish.
Heat oil and butter in a large skillet set over medium heat. Add the onions and sauté for a few minutes, until soft. Add the mushrooms and some salt and pepper and cook, stirring occasionally, until they give off their liquid. Add the sherry and cook until most of the liquid has cooked off.
Add the flour and stir until the mushrooms are well coated (this will help prevent lumps); add the stock and milk and stir (or whisk) until it bubbles, then once it is boiling cook for a full minute, to reach the flour's full thickening potential.
Meanwhile, cook the noodles in a big pot of water. Drain them and put them into the bottom of the baking dish. Stir the tuna into the mushroom sauce and pour it overtop.
Toss together (or pulse in the food processor) the bread crumbs and cheeses and sprinkle them evenly over the top. Bake for 30 minutes, until golden, crisp and bubbly.