Thanks for your quick reply as always!
1) that's what I figured, so I better keep using that? It doesn't seem to work/behave as expected with enemy groups, so this only works the way I want it for the player group. I don't think I'm going to display the enemy group with an HUD (as I am with the player group), but if I ever wanted to that would be an issue since I still have to use the leave/join method for enemies. My interpretation is that player groups are handled differently from enemy groups (as in, the latter don't have a distinction between battle and standard group). Is that right?
2) of course this only happens during the turn the combatant is switched, afterwards it's perfectly possible to target the new combatants. It also behaves differently if I do it from script or from the event system (when doing it from script I get an alert saying that the animator is trying to animate something that isn't there, I'm guessing that's because it's looking for an inactive animator component). Isn't there anything like a "currently targeting" property in the Combatant class? how are current targets stored after they are selected from the menu or from the AI?
3) So just keeping the original prefab around is ok? I figured as much, but I wasn't sure if there was a better method (like, creating a hidden gameobject to store just the Combatant objects waiting to be reverted to their original forms or other "cleaner" solutions).