Parece que 7z
só pode excluir padrões e ignora barras finais. Como alternativa, em vez de excluir, passe uma lista dos arquivos que você deseja incluir:
find . -not -path './excl_dir/*' -not -path './excl_dir' > /tmp/include.lst
7z a -mx=9 -t7z -i@/tmp/include.lst foo.7z
Isso parece um erro em 7z
.