RVODestinationCrowdedBehavior set destination

When I call ai.destination = position; in my Update() method from my script, RVODestinationCrowdedBehavior goes into the second returnAfterBeingPushedAway (Stopped) block because the destination from the result of Execute is still using the previous destination. This results in stopped units not moving to the new destination until the 3 second timer hits, or changing their position again.

What is the proper way to set destination from my script such that it is set before the AI.Base.Update() call? Using Unity’s ScriptExecutionOrder doesn’t work, I believe because AIBase is using BatchedEvents.