Parece que precisei colocar explicitamente o prefixo de .
na frente do diretório. Não tenho certeza se entendi completamente o motivo, mas para qualquer outra pessoa nesta situação:
Falha:
find . -type f -not -path 'somdir/*' -name '*.py[co]' -print0 | xargs -0 rm
Trabalhos:
find . -type f -not -path './somdir/*' -name '*.py[co]' -print0 | xargs -0 rm