Dê uma olhada em diferença du vs. df
Veja uma explicação mais detalhada: link
Basicamente, df lê somente o superbloco e confia nele completamente. du lê cada objeto e os resume.
Além disso, um processo em execução pode manter um arquivo excluído aberto. Isso significa que o espaço ainda será reservado e visto por df , mas como du não verá mais uma referência a esse arquivo na árvore de diretórios, ele não poderá ver esses blocos reservados.