The way this works is a bit counterintuitive unfortunately and would happen if the item is passed on to the “wrong” node first.
Could you try connecting the Wait node to the IF node first, then connect the Wait node to the SplitInBatches node?
To illustrate the difference:
SplitInBatches node connected first
IF node connected first
As you can see, the workflows look identical, the only difference is the order in which the connections from the last node of the loop were created.