In the code it explicitly states that if the player has 0 or greater relation with the faction of the troop then the troop will not be considered as capturable.
In the case of Kodan, his troop faction is fac_adventurers (i.e Adventurer Companies faction). So regardless of whom he serves, he will have that relation to your character (- because his troop faction is not changed when he joins a King as a mercenary).