Thanks to @aleksandr-panzin comment I found the answer and good enough solution. You can skip to Guide to avoid long version.
The answer first:
My problems started just after installing 22.04, then still in beta. I thought problems are related to firmware updates that followed... so I wasted significant amount of time around that problem.
But then Aleksandr suggested couple days ago installation of Kernel 5.8 fixes his problems with suspend. I started to figure out how to repeat that experiment. My attempt to use 5.8.18 failed as it couldn't find the root filesystem, so I've attacked from the most recent angle... and 🎆 the Kernel 5.18.3 loaded nicely.
Hypothesis
The 5.15.0 Kernel in 22.04 is broken for quite large number of Lenovo machines.
Test 1: Suspend
So, after it loaded I selected Power Off/Log Out > Suspend from the top right menu. Thrilling moment. The green LED on the Power Button started to to flash slowly... at that point since 22.04 I could only press it long to shut down the machine and start again.
So I pressed it shortly.
And computer waked up! 🕺
Test 2: Hibernation
As Gnome doesn't offer hibernation button by default, I've fired sudo systemctl hibernate
and let the machine dump the content of memory and shut itself down.
It nicely finished the hibernation and powered off.
Pressing the power button shortly turned it on.
After a few seconds I was on the login screen.
Theory
So, now the hypothesis turned into a theory - the Kernel matters.
Guide
Follow these steps to help yourself:
Disable Secure Boot in your BIOS/EFI settings (that part you have to figure out by yourself)
Install mainline
:
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt install mainline
Either launch via GUI and select the kernel 5.18.3 (or other if you wish), then click Install,
or
Execute the following command:
mainline --install 5.18.3
Report
Please report in comments to this answer if the above solution helped you and the model of your machine (it would be nice if you provide exact Lenovo model ID like 20EQ-S0RK1X). I could file a bug report pointing at collection of cases here (by comments and up-votes, at least 7 including me).
Thank you.