Provavelmente você tem arquivos ocultos na pasta.
O ponto é que glob * seleciona apenas arquivos e pastas que não iniciam com . . Então, se eles não são passados para o comando du . Por outro lado, do diretório superior, você obtém o tamanho do diretório como um todo, incluindo arquivos de ponto.
Para corresponder a todos os arquivos em determinada pasta, incluindo os ocultos, tente (com bash )
du -shc -- {.[!.],..?,}*
ou defina a opção dotglob para que * corresponda também aos arquivos ocultos:
shopt -s dotglob
du -shc -- *