Does WP fire delete_post when trashed posts are automatically deleted?
Short answer Yes, it does 😉 Long answer The function that is used to empty the trash/remove trashed posts is called wp_scheduled_delete. When you’ll take a look at it’s code, you’ll see, that it uses wp_delete_post to delete the posts and inside wp_delete_post the action delete_post is run as you can see here.