Answer
Create (or re-grant) the Oracle DIRECTORY object while logged in as SYS, then explicitly grant READ and WRITE on that directory to the application-owner schema (GRANT READ, WRITE ON DIRECTORY <name> TO <AppOwner>) — a DIRECTORY object created directly as the application-owner user without this explicit SYS-level grant can silently fail to actually provide the filesystem access the migration job needs, even though the object itself appears to exist correctly and the underlying Windows path is genuinely valid.