The problem with the first one is that mails only can be assigned to an agent that is on queue.
And the second works as intended except if the agent declines the mail, the mail just seems to disconnect instead of going back to the queue.
Your question would be best addressed by going through Care or posting on Genesys Cloud Community to see how other customers may have handled your use case.
Regarding the /replace mail disconnecting and not returning to the queue: this is because I didn't fill in the transferType. This resulted in the default value 'Unattended' and this disconnected the mail when the agent declines.