namespaceDupes.php is used when introducing a new namespace, to check/move titles that already use the new (namespace) prefix to be introduced.
The actual rename happens in NamespaceConflictChecker::resolveConflictOn() in namespaceDupes.php. All it does is update the pages in the page table.
However, there are plenty of other places that reference such namespace/title pairs that are not properly updated.
Is there any reason NamespaceConflictChecker::resolveConflictOn() doesn't use Title::moveTo? That one does seem to update references in a lot of the other tables as well, and runs hooks (TitleMove & TitleMoveComplete) that extensions can subscribe to in order to update their data.
Can we change it to use Title::moveTo?
A non-exhaustive list of tables with namespace/title references that may contain incorrect references after such rename:
When Flow recently introduced Topic:, we encountered a problem with unmoved references in watchlist table, T73109.