Heat broiler. Pack tomatoes, serranos, and onion (cut side up) together on a rimmed baking sheet and broil, 2 to 3 inches away from the heat source, 4 to 12 minutes, turning occasionally, until vegetables are deep brown and charred in places. (The onion and serranos will cook faster than the tomatoes—you may need to remove them separately.)
Remove seeds from serranos and discard. Place serranos in the bowl of a food processor with remaining broiled vegetables, pan juices, and garlic. Process until smooth.
Heat olive oil in a medium saucepan over medium heat. Add pureed vegetables and cook, stirring, 10 to 12 minutes, until sauce is heated through and reduced slightly. Taste and adjust seasoning as needed. Keep warm over low heat.
Heat tortillas in a dry skillet over medium-high heat, one at a time, until warm and lightly blistered on both sides, about 30 seconds per side. Wrap in a kitchen towel to keep warm.
Add canola oil to a large nonstick skillet and warm over medium-high heat. Fry eggs in 2 batches. Sprinkle with salt.
Place 2 tortillas on each plate. Spoon some tomato sauce onto each tortilla and top each with a fried egg. Sprinkle with cotija cheese and additional toppings.