Basically if S0idle is advertised as supported, S3 isn't.
On recent BIOS on Thinkpads this tends to be an option which can be toggled.
Just because the BIOS says so doesn't mean it will work.
On some old Dells, the S0 implementation in the BIOS was just so broken it straight couldn't work, even in Windows. What saved the game was Microsoft carefully considering such scenarios and checking the battery budget: if S0 was draining the battery too fast for the computer to awake in a usable state (like, with enough power to at least boot...) it would give up on S0 and go S4 "hibernate" instead.
In Linux this is now called Hybrid Sleep (S0+S4) but I don't think it existed back when I was in university. Finding a working ACPI S3 was hard.
On thinkpads, as explained above, a working S3 is just sheer luck as Intel 11th gen shouldn't even support S3. On the 12th gen, it sure doesn't. I would be curious to know if S3 works with Linux on a X1 nano Gen2 (12th gen)
PS: works on an 11th gen i5
EDIT: according to [1] S3 is supported on 12th. BIOS just hides it exists (not written in linked the article)
[1] https://edc.intel.com/content/www/us/en/design/ipla/software...