AddMovementInput is not a continuous method and doesn’t define actual movement by itself, it just tells your pawn that it has received input to move in a given direction. I believe the movement input is reset to zero each frame, so if you don’t tell the pawn it still has movement input it stops moving. Converting player input into actual movement happens within the MovementComponent of your Pawn; behavior is different based on which type you are using. If you wish, you can create a custom movement component that accepts data from AddMovementInput and then permanently changes the velocity, rather than creating a new value based on current input each tick.
Assuming you are using a UCharacterMovementComponent, you could bypass AddMovementInput entirely and directly set your velocity to your desired value and set the acceleration to 0. That should result in continuous movement until/unless they are later modified.