Oh some kernel params and other settings can help with that. These are mine, and it's been working great:
Kernel params
## Seems to be needed for suspend to S0 (s2idle) without hanging (only needed on p16s)
acpi_osi="Windows 2022"
# Prevent spurious wakeups from a firmware bug where the EC or SMU generates spurious "heartbeat" interrupts during sleep
acpi.ec_no_wakeup=1
# Prevents dock from waking up laptop right after suspend
usbcore.autosuspend=-1
Other settings (executed with a systemd service) (also only needed on p16s, not on my p14s)
Kernel params
Other settings (executed with a systemd service) (also only needed on p16s, not on my p14s)