Myslím, že jsem mohl mít stejný problém. Můj dotaz proveďte více spojení, než nezpracovaný výsledek může vrátit více řádků stejného primárního klíče, každý řádek je počítán pomocí .count(), ale když zavoláte .all(), na primární klíč se použije rozdíl a pouze jedinečný řádky jsou načteny, než se počet záznamů v seznamu .all() liší od počtu .count().
Toto by se mělo rovnat:
query.distinct().count() == query.all()
S pozdravem