Original article here; the TL;DR is "Nvidia Drivers 470.x use systemctl
to wake from suspend, and that doesn't work."
The fix is to disable systemctl for Nvidia drivers:
sudo systemctl stop nvidia-suspend.service && \
sudo systemctl stop nvidia-hibernate.service && \
sudo systemctl stop nvidia-resume.service
sudo systemctl disable nvidia-suspend.service && \
sudo systemctl disable nvidia-hibernate.service && \
sudo systemctl disable nvidia-resume.service
sudo rm /lib/systemd/system-sleep/nvidia
sudo systemctl halt -f