Your first syntax ~$* looks right for ignoring all files that start with ~$ in all directories.
My guess is it’s not working because the shell you’re using is trying to expand $…, * or ~.
Try putting that filter in either a filter-file or single quotes ( e.g. '~$*' ).
Single quotes are almost always a good idea when specifying filters in rclone. Also make sure you’re not using --exclude or --include as well, as AFAIK they are incompatible with --exclude. ( You should be able to replicate the same functionality with either –filter-from, or multiple –filter commands.