To make the béchamel, melt 2 tablespoons of butter over medium heat. Whisk in flour. Stir constantly about 3 minutes. Whisk in milk and add bay leaf. Bring to a boil, whisking constantly. Bring to a simmer. Continue to whisk until mixture thickens, about 5–7 minutes. Remove bay leaf. Whisk in salt, pepper, nutmeg and Parmesan cheese. Cover. Set aside.
Heat a skillet to medium-high heat. Add 2 tablespoons of butter. While heating, assemble sandwiches: Arrange 2 slices of bread, spread Dijon on each slice, top with Gruyère, 2 tablespoons of béchamel and ham slices. Top with remaining slices of bread.
Place sandwiches in skillet. Brown 3–4 minutes on each side, until just golden brown.
When browned, turn on the broiler. Place sandwiches on a pre-sprayed baking sheet. Top each sandwich with about ⅓ cup of béchamel, spreading it evenly, covering the entire top.
Place under broiler for about 4 minutes, or until the top begins to bubble and brown slightly.
While the sandwiches broil, fry 2 eggs in a skillet over medium-high heat, covered, until the whites are set, but the yolk remains runny.
Remove sandwiches from the broiler, plate, top with a fried egg. Enjoy.