To make the waffles: in a large bowl, whisk together the flour, cornstarch, salt, baking powder, and baking soda. Set aside. In a separate bowl, whisk together the buttermilk, vegetable oil and egg yolk. Set aside as well. In a third bowl, beat the egg white until stiff peaks form.
Add the wet ingredients to the dry and mix until just incorporated. Make sure not to over-mix the batter. Add in the egg white and fold in with a rubber spatula until combined.
Heat a waffle iron and grease lightly with cooking spray. Once hot, add about 1/3 cup of batter to the iron and cook according to your machine's directions. The amount of batter will vary on the type of waffle iron you have. I used a Belgian waffle iron and so they're much thicker and bigger. You'll get four waffles if you use a Belgian waffler iron as well. Transfer the cooked waffle to a wire rack, set over a baking sheet and keep warm in a 200°F oven while you continue to make the rest.
To make the topping: set a large skillet over medium-high heat with the butter. Once hot, add the ham and sauté until browned, about 3 minutes. Add in the onion, bell peppers, and mushrooms. Season with salt and black pepper and cook until the moisture has evaporated and the vegetables have softened and just begun to caramelize, about 5 to 8 minutes.
Set another large skillet over high heat with the oil. Once hot, carefully crack in the eggs one at a time. Cook until the whites have set and the yolks are bright yellow. Season lightly with salt and black pepper.
To serve, top each waffle with cheese, the vegetable and ham mixture, a fried egg, and scallions. Serve with hot sauce. Enjoy!