In a deep saucepan over medium heat, melt the butter. Add flour and whisk until smooth, cooking for 2 to 3 minutes to create a roux.
Pour in milk, salt, black pepper, cream cheese, parmesan, nutmeg, and mustard powder. Stir well and bring to a light boil, whisking continuously until thickened. Adjust seasoning to taste and set aside.
Crack eggs into a bowl, season with salt and pepper, and whisk until smooth. Cook eggs slowly in a non-stick pan over low heat, stirring gently until they hold their shape. Remove from heat and set aside.
Preheat oven to 400°F and line a baking tray with parchment paper.
Cut croissants in half and spread béchamel sauce on both sides. Layer with turkey ham, eggs, gruyere cheese, and parmesan. Seal sandwiches and place on the tray.
Whisk egg and milk for egg wash, brush over the tops of croissants, and sprinkle with desired toppings.
Bake for 10 to 12 minutes until golden and crispy.
Serve warm and enjoy this irresistible breakfast treat!