Pod status and anti affinity / topologySpreadConstraints

Hi all!!

TL:DR: The question is: The anti affinity feature only takes the Running pods before schedule a new pod on a cluster ignoring the completed ones?

Im trying to balance my ephemeral pods among all my cluster nodes (about 10 nodes).
Im using Argo Wrokflow and many of the workflow steps pods are scheduled in 1 or 2 nodes.
If I configure antiAffinity or topologySpreadConstraints, do not get any change.
I realize that the pods generated in a workflow are sequentially created, I mean a pod is created when the previous step (pod) is completed.
Maybe that is the reason why all pods are scheduled in the same node even the antiAffinity is configured?

Cluster information:

Kubernetes version: 1.23.9
Cloud being used: AWS (EKS)
Host OS: Linux