I was recently experimenting with adding creatures to a town and noticed that an upgraded creature in the recruitment window occupies the first or second slot, depending on how it was defined in the upgrades of its base creature.
In other words, if you go to the game mechanics folder, find the peasant file, and swap the creatures in the upgrades section, they will also be swapped in the recruitment window.
The order is important for the creature that is listed as the base creature in the upgrades.
For example, in that test file with three levels of upgrades that I posted, peasants upgrade to upgraded peasants, and those upgraded peasants upgrade to improved gremlins. The gremlins still reference the original base creature. Therefore, they are displayed correctly in the recruitment window.
However, the way the upgraded peasants reference the improved gremlins affects the order in which the creatures appear in the retraining window.
Yes, you are absolutely right, I swapped the seraphim and archangel in the archangel file, and the archangel now occupies the 3rd slot. That's probably where my initial problems came from; a creature was in an occupied slot, while the second slot was completely empty.