Cook onions: Preheat oven to 400°F. Heat oil in a large cast-iron or oven-safe skillet over medium. Add onion, and cook, stirring occasionally, until translucent, about 3 minutes.
Cook ground beef: Increase heat to medium-high, and add ground beef, and break into pieces with a wooden spoon. Cook, stirring occasionally and breaking up ground beef, until no longer pink, about 5 minutes.
Add seasoning: Stir in garlic and taco seasoning; cook, stirring constantly, until fragrant and ground beef is coated in taco seasoning, about 1 minute.
Add tomato paste: Stir in tomato paste; cook, stirring constantly, until darkened and ground beef is coated, about 1 minute.
Finish filling: Stir in tomato sauce, beans, and ½ teaspoon of the salt. Bring to a simmer over medium-high. Simmer until thickened, about 2 minutes.
Add some cheese: Remove from heat, and stir in 1 ½ cups of the Mexican 4-cheese blend. Set aside.
Begin cornbread: Whisk together cornmeal, sugar, baking powder, and remaining ½ teaspoon salt in a medium bowl.
Add egg, buttermilk, and melted butter: Whisk in egg, buttermilk, and melted butter until fully combined.
Fold in corn, chiles, and cheese: Fold in cream-style corn, green chiles, and remaining ½ cup Mexican 4-cheese blend.
Assemble casserole: Pour cornmeal mixture over ground beef mixture in skillet, and spread in an even layer.
Bake casserole: Bake in preheated oven until topping is golden and firm, about 40 minutes. Let rest 15 to 20 minutes.
Garnish and serve: Sprinkle evenly with cilantro, and serve with sour cream and sliced avocado.
