Preheat the oven to 400 degrees F. Put the potatoes in a large saucepan, cover with cold water by 1 inch and season with salt. Bring to a boil, then reduce the heat and simmer until tender, 20 to 25 minutes.
Meanwhile, heat the olive oil in a large ovenproof skillet over medium heat. Add the chorizo and cook, breaking it up with a wooden spoon, until slightly browned, about 5 minutes. Add the beef and cook, breaking it up, until browned, about 5 minutes. Add all but 1 tablespoon of the scallions to the skillet along with the corn, poblano, tomato paste, cumin, chili powder, 1 teaspoon salt and a few grinds of pepper. Cook, stirring, until the vegetables are slightly softened, about 5 more minutes. Add the tomatoes and chicken broth. Bring to a simmer, then reduce the heat to medium low; cook, stirring occasionally, until slightly thickened, about 10 minutes.
Drain the potatoes and let cool slightly. Return to the pot, add the sour cream and butter and mash well. Stir in the cheese and season with salt and pepper. Dollop the mashed potatoes on top of the meat mixture in the skillet, then spread with the back of a spoon. Transfer the skillet to the oven. Bake until bubbling around the edges and the topping is browned in spots, 25 to 30 minutes. Let rest 10 minutes, then sprinkle with the reserved scallions before serving.