I think your problem is using an emptyDir
volume for sharing between tasks. The tasks themselves are different pods which might not even run on the same node, and not different containers sharing the same pod.
See GH issue on Argo Workflow project: https://github.com/argoproj/argo-workflows/issues/3533
Can't you use a persistent volume instead? Check the documentation for clear examples: https://argo-workflows.readthedocs.io/en/latest/walk-through/volumes/
If not, then try with an emptyDir
and node affinity to make sure the tasks are on the same node, as suggested in the linked GH issue