The short answer is yes. Here's the exact syntax:
dnf install system-upgrade --releasever=31 --allowerasing
Note - this was from 32 to 31.
The long answer is as follows.
It grabs 300+ odd packages:
(345/345): mutter328-libs-3.28.4-4.fc31.x86_64.rpm 3.5 MB/s | 2.0 MB 00:00
If you have a gpg key, it will ask for permission to import it:
Importing GPG key 0x3C3359C4:
Userid : "Fedora (31) <[email protected]>"
Fingerprint: 7D22 D586 7F2A 4236 474B F7B8 50CB 390B 3C33 59C4
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-x86_64
Is this ok [y/N]: y
Once it has downloaded all the packages, it runs 600+ checks:
Verifying : libtracker-control-2.3.4-1.fc32.x86_64 684/687
Verifying : libtracker-miner-2.3.4-1.fc32.x86_64 685/687
Verifying : python3-dasbus-0.2-2.fc32.noarch 686/687
Verifying : python3-nftables-1:0.9.3-3.fc32.x86_64 687/687
Finally it displays the summary of changes:
Downgraded:
abrt-2.14.2-2.fc31.x86_64
abrt-addon-ccpp-2.14.2-2.fc31.x86_64
abrt-addon-kerneloops-2.14.2-2.fc31.x86_64
abrt-addon-pstoreoops-2.14.2-2.fc31.x86_64
...
xdg-desktop-portal-gtk-1.4.0-1.fc31.x86_64
yum-4.2.21-1.fc31.noarch
Installed:
libreoffice-draw-1:6.3.6.2-3.fc31.x86_64
mutter328-libs-3.28.4-4.fc31.x86_64
python-unversioned-command-3.7.7-1.fc31.noarch
python3-asn1crypto-0.24.0-7.fc31.noarch
python3-dnf-plugin-system-upgrade-4.0.10-1.fc31.noarch
python3-dnf-plugins-extras-common-4.0.10-1.fc31.noarch
python3-pydbus-0.6.0-9.fc31.noarch
Removed:
libtracker-control-2.3.4-1.fc32.x86_64 libtracker-miner-2.3.4-1.fc32.x86_64
python3-dasbus-0.2-2.fc32.noarch python3-nftables-1:0.9.3-3.fc32.x86_64
One thing it does not do is change the release notification
2020-06-18 09:36:34 localhost:/tmp #cat /etc/redhat-release
Fedora release 32 (Thirty Two)
2020-06-18 09:38:21 localhost:/tmp #cat /etc/fedora-release
Fedora release 32 (Thirty Two)