Descobrimos que a movimentação tá bugada principalmente por estarmos fazendo ela no método Update ao invés do método FixedUpdate.
Isso porque, quando ocorre instabilidade na quantidade de frames apresentadas pelo Update, a movimentação se comporta e é calculada de maneira diferente à cada segundo.
Vamos precisar mandar toda a movimentação para o Fixed e reduzir esses bugs, depois disso, precisaremos reavaliar os testes e balancear.