Another reason for choosing g with a prime order is that the group generated by g probably satisfies the
Decision Diffie Hellman assumption, which is not the case when g generates the full multiplicative group.
This DDH assumption isn't completely necessary for security but all the standards I've checked
choose such groups, i.e. choose g with a prime order.
The question of using small subgroups for better performance is not so clear. Since the size q of
the subgroup generated by g is not part of the public key it is not possible to verify a public key.
A verification of a public key would be a clean way to avoid subgroup confinement attacks.
With no public key verification a provider is basically forced to use large keys to counter
subgroup confinement attacks.
The "likely" in "g likely does not generate a prime order subgroup" is there because smoothDivisor
takes short-cuts which could lead to false positives.