Many modern laptops no longer support S3 sleep at all. It is likely to be an issue with the bios rather than a linux project. On my laptop, with Ryzen 7 5825U, I had to give up on S3 and use s2idle. Also had to pass "pcie_aspm=off" as a kernel parameter because it would take ages to wake the ssd without it. Overall works ok. Not as good as S3 but better than nothing.
I haven't really noticed much of a difference. I figured it was probably worth actually being able to wake the laptop from sleep rather than having to restart it every time.
So to check what suspend states your laptop supports run cat /sys/power/mem_sleep. It should print something like s2idle shallow [deep] with the option that is enabled having [] around it. To change the enabled option run echo "s2idle" > /sys/power/mem_sleep. https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate has more info.
Microsoft has pushed OEM's to stop supporting S3 in bios, instead wanting hybrid sleep. Microsoft wants this because hybrid sleep allows waking for sending telemetry to Microsoft all the dang time, like cell phones do. I curse the day they did this.
Are you sure S3 sleep is enabled in the bios? On most machines it's one or the other, not both at the same time. On some Intel machines you can still enable S3 standby, but I know AMD killed it a lot sooner than Intel did.
Windows has powercfg /availablesleepstates to show what states are supported. I'm sure there's something like that for linux but I'm not 100% sure. You could try dmesg | grep -i "acpi: (supports"
Microsoft says it’s more secure. and that since it stays on its 100% the OSes control which is supposed to be much more secure”reliable” than S3 standby.
Nevermind that S0 standby is so incredibly buggy and awful on windows where it’s supposed to be best. My i9 Thinkpad drops 20% battery in 15 minutes, then goes into hibernation. It has a 50% chance of overheating in my bag and crashing when trying to get in to hibernation.