Prep: Preheat the oven to 400°F. Line a large baking sheet (21x15) with parchment paper. Make roux: Melt four tablespoons of unsalted butter in a medium to large saucepan over medium heat. Reduce the heat to low, then add flour. Cook while whisking constantly for 2 minutes.
Add milk: Remove from the heat. While whisking constantly, add about a quarter of the milk and whisk until smooth (it will be thick). Continue to whisk while adding the milk a couple of tablespoons at a time, whisking until smooth between each addition. Add the salt, nutmeg, white pepper, and cayenne.
Thicken: Bring to a simmer and continue to whisk for a few minutes until thickened to the consistency of spreadable butter or pudding, not runny at all. Remove from the heat.
Slather Béchamel: Add 8 slices of bread to the prepared baking sheet. Spread half of the béchamel thickly over ALL the slices (like you would butter toast- it will be thick). Assemble: Top FOUR pieces of the béchamel bread with half of the Gruyere slices, followed by all of the ham (folding as needed to fit). Spread a thick layer of Dijon over the ham, then top with the remaining slices of Gruyere. Close the sandwiches with the remaining slices of bread, béchamel side down.
Pan fry: Heat one tablespoon olive oil in a cast-iron skillet over medium heat. Once hot, add the butter to melt. Working in batches, grill the sandwiches for about 2 minutes per side, until deeply golden brown, pressing down occasionally with a spatula so they grill evenly (the cheese will not be completely melted). Transfer back to the parchment paper-lined baking sheet. Topping: Spread the remaining béchamel on the top slices of each sandwich. (Gently reheat and re-whisk the béchamel with a splash of milk if it's become too cold/thick to spread.) Add the shredded Gruyere and grated Parmesan over the béchamel. Bake: Bake for 10-12 minutes, until the cheese is melted, then broil for 2-3 minutes until the top is golden.
Serve immediately with a fork and knife to enjoy every gooey bite (its rich, cheesy goodness is too messy and hot to eat with hands).