I successfully migrated a Centos 8.4 Stream system to Centos 8.4 system, then to a Rocky 8.4 system.
From memory, the steps were as follows:
Convert Centos stream to Centos
sudo dnf remove centos-release-stream
wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-release-8.4-1.2105.el8.noarch.rpm
wget http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-linux-repos-8-2.el8.noarch.rpm
sudo rpm -e --nodeps centos-stream-release centos-stream-repos
sudo rpm -ivh centos-linux-release-8.4-1.2105.el8.noarch.rpm centos-linux-repos-8-2.el8.noarch.rpm
sudo dnf distro-sync --allowerasing
sudo reboot
Remove old repos
e.g. sudo rm yum.repos.d/CentOS-Linux-ContinuousRelease.repo etc etc
Then run the migrate to Rocky
e.g. sudo ./migrate2rocky.sh -V
sudo reboot