I think that is how it should work, as well.
I think a good test for "what is a species" could be "do they keep the same name upon changing form?" This would not prevent you from using Porygon2 and PorygonZ on the same team.
Goodbar: A lack of species clause would essentially totally ruin prediction, and make matches into nothing more than a giant bumfuck of a guessing game. The only reason certain pokemon like Lucario and Salamence are manageable is because usually they reveal themselves after they've made their first move. Now imagine trying to face a team with a MixMence and a CBMence, both with the same nickname. Guess wrong which one they've sent out, and you're probably screwed. And the next time one comes out, guess again.