In a Dutch oven, heat olive oil over medium-high heat until shimmering. Add chorizo and cook, stirring occasionally, until crisped, about 4 minutes. Using a slotted spoon, transfer chorizo to a plate and set aside.
Add onion, garlic, and serrano chili to same Dutch oven and cook over medium heat, stirring occasionally, until softened, about 3 minutes. Add two-thirds of cilantro and cook, stirring, until onions are lightly golden, about 3 minutes longer.
Add stock to pot and bring to a simmer. Stir in bread and cook, adding water as needed ½ cup at a time and stirring occasionally, until bread has absorbed all liquid and has almost completely broken down into a porridge-like texture, about 30 minutes. Stir in remaining minced cilantro and season with salt and pepper.
Spoon bread soup into bowls, top each with a poached egg, if using, along with sliced scallions, cilantro leaves, and crisped chorizo. Drizzle with olive oil and serve immediately.
