[Edited.]
I chose a replacement for which the find text really exists in the text:

… and saved it. It still saves as a Find, not a Replace, and with a previous Find string:
Replace in \vp en dash → em dash#f#\\vp [\d–]+\s*\\vp\*
(That string was from when I was testing my Find regex with Pal set to Find, not Replace.)
I did another test where I actually did a Replace ⇒ Yes to All, then saved, but with exactly the same result.
I think I’ll stop obsessing over it now, and wait till it’s fixed …
… but I’m intrigued: how did you, @anon291708, add your regexes to the list? Or did you just type up the file manually?