I think that the confusion is with the fact that the isupper comparator doesn't use the $, as the $isupper identifier does.
The fact that the two are almost identical in both functionality and coding (from the scripter's point of view, not necessarily internally) makes the confusion somewhat understandable.
In any case, the characters that you mentioned are not treated as either upper or lowercase. Possibly an amendment to the help file so that it reads something like
$isupper(text) returns true if the alphabetic characters are upper case.
A similar change could also be put for $islower
Realistically only alphabetic characters can be upper or lower case, thus numerics and symbols would not qualify as either upper or lower case.