There is also another part of the trman page that you skipped:
char1-char2
all characters from CHAR1 to CHAR2 in ascending order
Thus, some +-/will mean symbols +, ,, -, .and /. ( man asciiuseful here).
For a hyphen, you can avoid this:
pass 20 '[:alnum:]@#%+\-/~'
\055 :
pass 20 '[:alnum:]@#%+\055/~'
:
pass 20 '[:alnum:]@#%+/~-'