Place a large (11-12”) cast iron over high heat. Add 2 tablespoons olive oil, swirl to coat, and add ground beef. Season generously with salt and pepper and cook, stirring occasionally, until beginning to color, about 5 minutes. Add onion and bell pepper and season again with salt and pepper. Continue to cook until softened, and turning golden on the edges, about 7 minutes more. Add chile powder, cumin, and garlic, and cook, stirring, until fragrant, 1 minute. Add corn, black beans, and tomatoes. Let cook an additional 5 minutes and add cilantro. Stir to combine. Remove from heat.
In a large bowl, whisk to combine cornbread mix, egg, and milk. Pour on top of vegetable-bean mixture. Spread in an even layer (it’s okay if some of the filling pokes through the cornbread batter), drizzle with remaining 2 tablespoons olive oil, and transfer to oven. Cook until golden on the edges and bubbling, about 15 minutes.
Remove from heat. Serve warm or at room temperature, with sour cream and cilantro.