When separating out /var and NOT using legacy mounts, journald writes to /var before zfs has initiated/mounted it. Hence, zfs will subsequently be unable to mount /var, as it now contains existing data. Note that I've not tested this very thoroughly, and it has been some years since I used zfs (so maybe I'm out in left field here....) but that sure looks to be what is happening.
When separating out /var and NOT using legacy mounts, journald writes to /var before zfs has initiated/mounted it. Hence, zfs will subsequently be unable to mount /var, as it now contains existing data. Note that I've not tested this very thoroughly, and it has been some years since I used zfs (so maybe I'm out in left field here....) but that sure looks to be what is happening.