navigateBack
Navigate back in the navigation stack.
No-op if a LoadingModal is currently showing — back navigation during async guard evaluation would corrupt state since this call bypasses the navigation mutex.
Dispatches NavigationAction.Back directly, bypassing the navigation mutex. This is intentional: a back/dismiss requires no guard evaluation, and the mutex may be held while a loading modal is showing (e.g. during guard evaluation). Routing through evaluateAndExecute would silently drop the dismiss via tryLock.