Prepare the béchamel sauce: In a medium saucepan, melt 2 tablespoons of butter over medium heat. Add the flour, whisking continuously for 1-2 minutes until golden. Slowly add the milk while whisking to achieve a smooth consistency. Stir in ¼ teaspoon of salt, nutmeg, and white pepper. Continue to cook, stirring often, until the mixture thickens, about 3-4 minutes. Remove from heat and set it aside.
Cook the mushrooms and onions: In a large skillet, melt 2 tablespoons of butter over medium heat. Add the sliced onion and cook for 2-3 minutes until it begins to soften. Add the mushrooms, ¼ teaspoon salt, and black pepper. Sauté for 5-6 minutes until the mushrooms are soft and the moisture has fully evaporated. Take off the heat.
Assemble the sandwiches: Spread a thin layer of Dijon mustard on one side of each slice of bread. Place two slices of Swiss cheese on top of the mustard on each slice. Evenly distribute the mushroom and onion mixture onto two slices of bread, spreading it over the cheese. Top with the remaining bread slices, mustard side down, creating two sandwiches.
Top with béchamel and cheese: Spread the béchamel sauce evenly over the tops of each sandwich. Top the sauce with a generous sprinkle of grated Parmesan cheese.
Bake or broil: Preheat the oven to broil. Place the sandwiches on a baking sheet and broil for 3-5 minutes, or until the tops are bubbly and golden brown. Watch carefully to avoid burning.
Serve hot with a fresh side salad or soup for a complete meal.