I can confirm that you can stay in Download_Leave
for as long as you want, as long as the timeouts don’t expire. There is one caveat though: If you restart, then Mender considers the update failed.
But for indefinite waits such as yours, and especially if it requires user input, I would consider using the device-side API instead. It is more tailored towards user interaction, and with this you can set your timeouts pretty low and still wait indefinitely, because it has a mechanism for refreshing the wait.
The Web UI doesn’t care how long it remains in progress, it just obeys what the device says.