Is it possible to cancel a delete request for a node or media item? I am trying to create a soft delete method and I was hoping to manipulate cores delete method. The plan was to set a flag on the entity to say that it had been deleted and gets moved to a new page for approval before permanently being deleted.

I am aware there are several contrib modules out there but they are either only in beta or don't quite do what I wanted.

I have been trying to use hook_entity_pre_delete() to set this flag, but I am unable to then cancel the request to delete the entity.

Does anyone have any bright ideas?
Have you considered the new Content Moderation module in core? It should provide the desired functionality.