If it is not present, the output is full of warnings(?) starting with file not found for line 108. While the system seems to operate normally after reboot, these messages don't promote trust in the result.
Not knowing what's the purpose of setting the locale I can't provide a fix.
sudo ./migrate2rocky.sh -r
./migrate2rocky.sh: Zeile 108: Warnung: setlocale: LC_ALL: Kann die Locale nicht ändern (en_US.UTF-8): Datei oder Verzeichnis nicht gefunden
./migrate2rocky.sh: Zeile 108: Warnung: setlocale: LC_ALL: Kann die Locale nicht ändern (en_US.UTF-8).
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Determining repository names for CentOS Linux 8.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8:
CentOS Linux 8 Rocky Linux 8
appstream appstream
baseos baseos
extras extras
Getting system package names for CentOS Linux 8Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
.Failed to set locale, defaulting to C.UTF-8
... and so on