First, I must retract my earlier demand that the user be asked about changes to filename changes instead of doing them silently. As @cgrunenberg noted correctly, that makes no sense in the context of scripts or smart rules.
Second, and more important for indexed files: The set of permitted characters depends on the file system you use. If your files are, e.g., stored on an CIFS server, you’ll have other restrictions than if they’re stored on a ExFAT drive or on a Linux file system. DT can’t know about the particular restrictions since it uses an abstraction layer to read/write/create/rename files. The & apparently can cause problems with CIFS file systems (cf. /etc/fstab refuses to accept "&" (ampersand)) and proves at least tricky with WebDAV (as do <, > and %), and there’s a whole bunch of characters not allowed on Windows file systems (cf. Filename - Wikipedia).
Also, there are differences in encodings (Apple’s enfuriating UTF-8 variant comes to mind, other filesystems use UTF-16 or even, horribili dictu, ASCII). Windows does not allow PRN as a file name (and not because it might be considered “adult” content). Some file systems are case-agnostic, so you can’t have files “a” and “A” in the same directory. You may use a space in a file name in windows, but you may not have a file name consisting only of spaces. A leading dot is not a good idea in many file systems, and so on.
Which would do nothing to alleviate the problem, since indexed files need not reside on a mac file system.
That’s what a manual (or a forum: The topic has been discussed here before) is for: close reading. It is mentioned there because most users believe they understand something else.
Which “file system”? Given that we’re talking about indexed files here, the filesystem could be anything: Dropbox, iCloud, Google Cloud, AWS S3, CIFS, NFS, AFS, WebDAV, exFAT, HFS, APFS, HFS+ … I very much doubt that “most users” have an idea about the workings of the particular filesystem they’re using in every case and even which one it is.
Not so much if we’re talking about indexed files. Having, for example, “tags” for an indexed file on a CIFS will not work outside of DT. It’s the Finder and Spotlight that handle them.
Third: You might want to try scripting to rename the files using Finder or whatever.