In a 12-inch cast-iron skillet, heat 2 tablespoons oil over medium heat. Add onion; cook, stirring frequently, until tender, about 5 minutes. Remove from heat, and let cool completely.
In a small bowl, stir together ½ cup warm milk, yeast, and 1 teaspoon sugar. Let stand until foamy, about 5 minutes.
In a large bowl, stir together egg, Cheddar, salt, cooked onion, yeast mixture, remaining 3 teaspoons sugar, remaining 1 cup warm milk, and remaining 2 tablespoons oil. Gradually stir in flour until a soft dough forms.
Turn out dough onto a lightly floured surface, and knead until smooth and elastic, about 5 minutes. Spray a large bowl with cooking spray. Place dough in bowl, turning to grease top. Cover and let stand in a warm, draft-free place (75°) until doubled in size, about 1 hour.
Punch dough down. Cover and let stand for 10 minutes.
Divide dough into 13 portions, and roll each portion into a ball. Spray same cast-iron skillet with cooking spray, and place dough balls in skillet. Cover and let stand in a warm, draft-free place (75°) until doubled in size, about 1 hour.
Preheat oven to 350°. Sprinkle dough with Parmesan. Bake until lightly browned, 15 to 20 minutes. Serve warm.
Recipe by Southern Cast Iron at https://southerncastiron.com/cheddar-and-onion-yeast-rolls/