Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

A simple solution:
In the OnMove method always store the last input value:

void OnMove(InputValue value)
{
    m_lastMove = value.Get<vector2>();
.
.
.

then when you set canMove to true, also update the movement to the last set value:

IEnumerator WaitForBendAnim()
{          
    yield return new WaitForSeconds(0.6666666f);
    canMove = true;
    moveInput = m_lastMove;
}

If you have more complex state changes I would suggest to use the state machine-pattern to control the transitions between states.