For years I've had a problem with Apple's OS X iPhoto and macOS Photos.
At one point, I had imported my photos but didn't indicate I wanted them deleted after the fact, a choice that takes a safety-first stance.
However, this left me in a weird state. Apple would not Import those photos again to the same library because they already existed, and as such they could not be deleted on import. The Photos app provides little in the way of managing your devices.
For whatever reason, even the Photo app on iOS itself would refuse to delete the images. In fact, I could select them, delete them, the thumbnail would disappear, but then when I flipped to another app (or another view within Photos), when I came back the files were there.
An aside for an unsolved problem that a reader may have the answer to: I can do a Select All on the phone with a small number of photos are presented, but I can't figure out how to do it all the time when there's a large number (several thousand while looking at my library, not an album), although I can select and drag ...but with that many it can take minutes to select everything. Anyhow know how to do a Select All of the photos on iOS? Please write me.
As for the delete operation. It wasn't that they ended up in the trash and needed manual deletion or a 30 day wait. It simply didn't work. Sometimes nothing would happen, sometimes the icons would disappear, although refreshing the view they'd all come back.
It's worth noting, I don't sync my photos to iCloud, so they're not reappeaing that way either.
To recap, the only thing on my phone at this point in the problem are the already backed up photos that I want deleted, they are local to the device but they won't go away and I'm not factory resetting.
SOLVED
Connect the phone to the desktop via USB and use the Image Capture software. At the time of this writing, I'm using macOS Monterey v12.6.
When you select your iPhone, you'll get a list of images. Here's where things get weird — likely a bug in Apple's UI Framework.
If you select all the photos with Command-A (which happens instantly), and in my case I had about 8,300+, and delete them, Image Capture will show you them being deleted, but if you exit and get back in, they'll be back.
If, however, you select and delete them 400 – 500 hundred at a time, then the deletion seems to stick. This requires selecting and using Shift-Click with the mouse. The good news is the less photos you have in your library, the faster the deletion operation happens.
It's almost as if the UI will let you select as many as you want, but the code that traverses a sequence of selected items within a collection of things can only process less than a thousand. Any more than that and it fails the operation but still removes the item from the list.