In 2.2 it appears that you can't use getMap/Set/List providing Classes when using nested types since the CodecRegistry cannot find an acceptable codec without the type information:
Alternatively providing TypeTokens does work as expected.
I assume the same will be true for UDTs, Tuples, and get on boundstatements since it shares the same codebase.
That's expected, you need to provide the full type information.
As your example shows, 2.1 will work with a raw List type, but that's more of a happy accident. With custom codecs, types are more strictly enforced.