Make the filling: Toss the bacon into a large skillet with a few drops of olive oil. Bring the pan to medium heat and cook the bacon until brown and crisp, about 13 minutes. Spoon off about half of the drippings. Add the onion to the pan and season with salt and the red pepper flakes. Continue to cook, stirring occasionally, until the onion is soft and very aromatic, 8 to 10 more minutes. Add the tomato, season with more salt and cook another 8 to 10 minutes, or until the tomato is soft and mushy and most of the liquid has evaporated. Taste and reseason if needed. Stir in the oregano and let cool.
Make the French toast: Preheat the oven to 200 degrees F. In a wide dish, combine the eggs, milk, cayenne (if using) and a pinch of salt. Beat until smooth and homogeneous.
Lay 4 slices of bread on a work surface. Sprinkle each piece of bread lightly with cheese (use about half of the cheese). Spoon a quarter of the bacon filling onto each piece of bread, then sprinkle with the remaining cheese. Top each slice with another piece of bread and press to secure. Working in batches, soak each "toast" in the egg mixture, about 1 minute; flip and soak the other side.
While the toasts are soaking, coat a large saute pan with olive oil and bring the pan to medium heat. Working in batches so you don't crowd the pan, cook the toasts for 2 to 3 minutes per side. The toasts should be golden brown, lovely and crisp-YUM! Transfer the toasts to a baking sheet and place in the oven to keep warm.
Make the eggs and assemble: Coat a large nonstick skillet lightly with olive oil and bring to medium heat. Add the eggs to the pan, working in batches if necessary. Cook until the whites are cooked through and the yolks are warm and runny, 3 to 4 minutes. Remove the toasts from the oven and top each with a perfectly fried egg. Sprinkle with chives and serve immediately.