Sem uma contagem, ^
e _
são de fato equivalentes, mas o segundo suporta uma contagem:
_ <underscore> [count] - 1 lines downward, on the first non-blank character |linewise|.
O linewise
explica sua segunda observação: quando usado como um movimento, ele não cobre apenas o texto entre a posição anterior e a nova, mas todo o conjunto de linhas cobertas.
Ler com atenção o :help
fornece essas informações. Você também verá (por proximidade) que o comando _
está intimamente relacionado a +
e -
.