I had the same problem.
I could only solve it with the following method.
# rpm-ostree status > current_base
# rpm-ostree reset
# rpm-ostree rebase fedora:fedora/31/x86_64/silverblue
# rpm-ostree kargs --delete=rd.driver.blacklist=nouveau --delete=modprobe.blacklist=nouveau --delete=nvidia-drm.modeset=1
// reboot
# rpm-ostree install rpmfusion-free-release-31.noarch.rpm rpmfusion-nonfree-release-31.noarch.rpm
// reboot
# rpm-ostree update
// check current_base
# rpm-ostree install <LayeredPackages...>
# rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1
// reboot
I used the same method to upgrade from silverblue 29 to 30.
I don’t know if it’s the right way.