scheduling backend workflow is always triggered as soon as all the referenced data is ready. it does’n matter the visual order where you see tha action.
this is explained in the docs.
of you want more control of when the workflow is scheduled then you need to ise custom events
Depending on the nature of step 4 (i.e if it is dependant on an outcome from step 2) then you could set one of the parameters to be “result of step 2’s XYZ” which will force it to await the output of step 2 until it runs.
Otherwise as mentioned above, you would want to put step 2 into a custom event, whereby all the actions in that custom event must complete before the rest of the steps in the sequence run. You can use “return data” to fine-tune this further if required.
Curious about the schedule time though - it shouldn’t execute until that time, but the parameters fed to it will be set asap.
If step 4 is running in full at the same time as step 2 then that’s an issue and maybe try switching back to old workflow editor to see if its a bug with the new editor.