I made a few character pool units and assigned them a class, but when I recruited them as rookies, they upgraded into other classes that I did not pick. How do I make them the class that I want?
You can train a rookie soldier to a class of your choice in the Guerrilla Tactics building. If you acquire them as rookies and level them in battle, you're stuck with the semi-random class up.
"Chosen Class" for character pool options only applies when you gain the character as a veteran soldier (i.e. Black Market), and the character starts out at higher rank.
To force a rookie to take a certain class, assign him or her to the guerrilla tactics school. After 5 days the rookie will be promoted to a squadie of the class you selected. Unfortunately only one rookie can be trained at a time.
You could savescum it (sorry ironmen). Classes are assigned only at the moment when you click "promote". So after first mission you don't promote them at the debriefing, instead just click "continue", and then save. After that promote 1 guy: - if it's not the class you wanted - reload - if it is the class you wanted - save and move to the next one. The first one is the hardest to get (25% chance), the second one is a bit easier (33%) and the third one is 50/50. Fourth one will be guaranteed after that.