### Godot version

4.1.dev (1becfea37c)

### System information

MacOS 13.3 M1 Pro

### Issue description

When renaming with Batch Rename using invalid character `NodePath` will be updated with the invalid new name.

### Steps to reproduce

1.  open MRP
2. batch rename all nodes except the root from `e` to `%`
3. look at the `NodePath` on the root

### Minimal reproduction project

[test1.zip](https://github.com/godotengine/godot/files/11377324/test1.zip)

eh.userdata = this;
	
	cbut_collapse_features->connect("toggled", callable_mp(this, &RenameDialog::_features_toggled));
	
	lne_search->connect("focus_entered", callable_mp(this, &RenameDialog::_update_substitute));
	lne_search->connect("focus_exited", callable_mp(this, &RenameDialog::_update_substitute));
	lne_replace->connect("focus_entered", callable_mp(this, &RenameDialog::_update_substitute));
	lne_replace->connect("focus_exited", callable_mp(this, &RenameDialog::_update_substitute));
	lne_prefix->connect("focus_entered", callable_mp(this, &RenameDialog::_update_substitute));
	lne_prefix->connect("focus_exited", callable_mp(this, &RenameDialog::_update_substitute));
	lne_suffix->connect("focus_entered", callable_mp(this, &RenameDialog::_update_substitute));
	lne_suffix->connect("focus_exited", callable_mp(this, &RenameDialog::_update_substitute));
	
	lne_prefix->connect("text_changed", callable_mp(this, &RenameDialog::_update_preview));
	lne_suffix->connect("text_changed", callable_mp(this, &RenameDialog::_update_preview));
	lne_search->connect("text_changed", callable_mp(this, &RenameDialog::_update_preview));
	lne_replace->connect("text_changed", callable_mp(this, &RenameDialog::_update_preview));
	spn_count_start->connect("value_changed", callable_mp(this, &RenameDialog::_update_preview_int));
	spn_count_step->connect("value_changed", callable_mp(this, &RenameDialog::_update_preview_int));
	spn_count_padding->connect("value_changed", callable_mp(this, &RenameDialog::_update_preview_int));
	opt_style->connect("item_selected", callable_mp(this, &RenameDialog::_update_preview_int));
	opt_case->connect("item_selected", callable_mp(this, &RenameDialog::_update_preview_int));
	cbut_substitute->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
	cbut_regex->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
	cbut_process->connect("pressed", callable_mp(this, &RenameDialog::_update_preview).bind(""));
	but_reset->connect("pressed", callable_mp(this, &RenameDialog::reset));
	reset();
	_features_toggled(false);
}
void RenameDialog::_bind_methods() {