Acredito que o motivo de precisarmos usar lenght-1 para contar as palavras seja por causa da expressão regular. Se fizermos esse teste abaixo, podemos ver a diferença entre o split('') e split(/\S+/).
Alguém mais pensou em outra sugestão de teste para verificar o que acontece ?