Sieve won’t work with Exchange (I think), but most likely the same functionality can be accomplished with server side rules.
I have created workflows that do steps 1,2 and 4 of your example. For step 3 (the move) I choose an alternative route. Basically doing it upfront and not depending on the processing. Question is, is it really depending on the processing? I.e. is the move based on the result of a step in your WF?
I’m using a separate “n8n” mail account b.t.w. Which makes processing easier imho. Any mail that needs to be handled by N8N gets automatically copied (not forwarded!) to that account and it leaves the “original” mail for further processing, e.g. moving it to a special mailbox. Mail in the “n8n” mailbox gets deleted (expunged) periodically, based on age and read status (read = processed by n8n).
Hope this makes sense.