I agree that the actual behaviour is "symmetric" and that makes sense from a design point of view. I confirmed the behaviour of the test you ran
johngg@shiraz:~/perl > perl -Mstrict -Mwarnings -E '
my $pck = pack q{Z*C}, q{test}, 0x41;
my( $str, $ch ) = unpack q{Z*a}, $pck;
say qq{$str, $ch};'
test, A
I don't think the documentation has a problem with the "A" or "a" descriptions but the "Z" one should be clarified. An alternative to my suggestion in the above might be Z returns everything up to but not including the first null.