A diferença é que você está pedindo ao mysql para contar cada linha em sua declaração em vez de apenas despejar. O ponto de withCount não é que é mais rápido, é melhor na memória se tudo que você precisa é uma contagem.
Por exemplo, tenho uma relação com milhares de itens ricos em dados. Se eu usar um with e tentar contar os resultados, o php ficará sem memória. Se eu usar withCount, apenas um item é retornado que me diz quantos itens existem, então não há taxa na memória php, mas todo o trabalho é feito no servidor sql.