To make the sauce, put the milk in a small sauce-pan and bring to a simmer over low heat. Melt the remaining 2 tablespoons butter over medium-high heat in a medium saucepan. Whisk in flour and cook for 1 minute. Gradually whisk in the hot milk. Bring to a boil and cook, whisking constantly, until thickened and the raw flour taste has cooked out, 4 to 5 minutes. Stir in more milk if the sauce is too thick to pour.
Remove from the heat and whisk in the cheddar and Parmesan cheese, whisking until the cheddar has melted. Season with the nutmeg and salt and pepper to taste. Keep warm.
To make sandwiches, whisk together the eggs and milk in a medium baking dish. Season with salt and pepper. Dip each slice of bread in the mixture and let sit until completely soaked through, about 10 seconds per side.
Heat 1 tablespoon of butter and 1 tablespoon of the oil in a large nonstick sauté pan over medium-high heat. Working in batches, cook 2 slices of the bread at a time until golden brown on both sides, about 2 minutes per side. Repeat with the remaining butter, 3 tablespoons of oil, and bread.
Put the tomatoes on a rimmed baking sheet, brush with remaining 2 tablespoons oil, and season with salt and pepper. Broil until slightly charred and just cooked through, 3 to 4 minutes.
Place 4 slices of the egg bread on a baking sheet, slide under the broiler, and heat just to warm through, 20 seconds on each side. Repeat with the remaining bread.
Top each slice of bread with 2 to 3 slices turkey. Ladle sauce over the top and divide the cheddar and Parmesan over the top of each slice. Place under the broiler and cook until bubbly and the tops are golden brown, about 2 minutes. Remove from the oven, top each slice with 2 slices of bacon and a tomato slice and sprinkle with parsley.