Currently the conquest code checks for ownership change, add structure, and training finished, however the latter two also generate ownership change messages. It would make sense to simplify the code and remove those two cases.
In addition, the current code is bugged because it doesn't take into account promoted units which are changed from no owner to the player directly instead of being trained. (I.e., you'll lose the game if you only have promoted units left.)
The convention is to ignore foundations so there's an extra check for that.
For conquest units, currently sheep count as units but their carcasses don't. With the patch, if we kept "Unit" then the carcass would also count as a unit, which doesn't seem correct. If we use "Unit+!Animal" then neither will count, and that seems acceptable or even preferred, since it seems tedious to have to kill all sheep to win. (Dogs and trained elephants don't have the Animal class.)