MovePosition nie jest zalecanym sposobem przesuwania obiektów jeżeli chcesz używać wbudowanej fizyki, bo mogą dziać się nieprzewidywalne rzeczy.
Zamiast tego albo użyj AddForce(), albo zmień wartość parametru .velocity, dzięki temu uzyskasz stałą prędkość, np
rb.velocity = new Vector2(dir*speed, rb.velocity.y);
Samo klikanie spacji powinno zmieniać np .gravityScale na 1 (na starcie ta wartość powinna wynosić 0) oraz resetować prędkość w osi X, czyli coś w stylu:
if (Input.isKeyDown("Space"))
{
rb.gravityScale = 1.0f;
rb.velocity = new Vector2(0, rb.velocity.y);
}