Have you tried setting mem_sleep to deep? This helped on my Thinkpad until I got a new enough kernel that allowed the system to fully enter C10 state.
https://www.kernel.org/doc/html/latest/admin-guide/pm/sleep-...
And if you want to dig into what happening in s2idle, https://01.org/blogs/qwang59/2018/how-achieve-s0ix-states-li...