To confirm, it is possible to have elites desert due to insufficent soldiers, but then have say thieves not desert due to sufficient soldiers.
For example:
If you would expect to have the following amount of each troop desert:
500 elites
50 thieves
300 defspecs
200 offspecs
50 soldiers
and you had 280 soldiers, you would lose:
500 elites
50 soldiers (instead of thieves)
300 defspecs
200 soldiers (instead of offspecs)
30 soldiers
It checks fresh each time if you have enough soldiers.