I haven't looked at how the compare happens for polyvariants, but I assume it's going to treat them as integers. And the integer value of the polymorphic variants is a simple hashing-type function (byterun/hash.c: caml_hash_variant). A multiplication by 223 is involved for each character of the variant name, so with a long enough name, compared to the integer size, you'll get wraparound. The short names you have there are okay.
I'd be uncomfortable relying on this ordering, but I can imagine it would make some things a lot simpler...