Well, I’m delighted to be wrong. I’m using the current version of WordPress, I just had no idea this had been addressed.
In fact (now that I’ve done some testing), I don’t even have to pick the parent first. When I create a duplicate page, it generates a number-appended slug as usual. But then I can move it under a parent, edit the slug to remove the number, and it’s fine. Zero effort.
So, uh, problem solved. Thanks for disabusing me of my antiquated WordPress dogma. ??