For the chorizo: In a large cast-iron skillet over medium heat, add the butter, chorizo, onion and garlic. Cook, stirring to keep the onions from browning, until the chorizo is cooked through and broken down to resemble ground meat, about 10 minutes.
For the cornmeal: Into the skillet with the chorizo, add the milk, buttermilk and cornmeal. Bring to a simmer while whisking, to keep the cornmeal from clumping or sticking in the corners. When the liquid begins to thicken, turn off the heat and continue to stir until the mixture is the texture of loose grits.
In a medium bowl, whisk the eggs while very slowly adding a bit of the cornmeal mixture. Whisk vigorously to combine and then feel the outside of the bowl. If it's not warm, add a bit more of the cornmeal mixture while continuously whisking; keep adding the cornmeal mixture until the eggs are just as warm as the cornmeal mixture. Then, reversing the order, slowly pour the egg mixture into the cornmeal mixture, whisking vigorously. Add the Cheddar, mozzarella, corn, chopped tomatoes and chiles and scallions to the skillet and stir to combine.
Bake until the edges are golden brown and the center is set, 35 to 40 minutes.