For me, isSuccess is local to the current component instance. So If you call navigate() in onSuccess, the component unmounts immediately. You never observe isSuccess: true on that instance.
Don’t rely on isSuccess if you navigate or unmount right after the mutation.