I’ve been looking into this lately as well (how to allow a user to delete on the frontend without having wp-admin access).
The ACF method works well, but also wanted to point out this:
You can use the normal WP delete post function, which requires wp-admin access, but redirect them away just after the delete function runs. So they never see wp-admin, but are still able to have the functions run.
Hopefully this is helpful to someone, as it was to me.