Dug through journalctl -b -1, found that interestingly enough, the OS stuck after "reached target: power off", rather than "reached target: halt".
So the kernel was told to power off by gnome, but for whatever reason it got stuck, while if I explicitly tell it to power off, it will. This is weird.
Anyway, I reverted from 5.11-rc6 (mainline, compiled myself) to stable 5.10 release (linux-oem-20.04-edge), and it all went normal.
There is a short answer (here) and a loooooong proper answer
posted after the short one.
The short answer is that these "generic" fit all - suited for casual - kernels
do the things the possible worst way..
Vast majority of kernel modules are compiled in_kernel thus resulting
in a kernel image 50 times bigger than a proper hand crafted one.
ACPI specification is mostly implemented in modules and since
these modules will attach IRQ handlers to the kernel.. the order
in which these handlers and the proper BUS (ACPI uses mostly I2C and SMB)
will interact on a target system.
That said ... potterix systemd like things - which just "load that shit all parallel"
all built in kernel... have a great chance to improperly assign IRQs..
It happens not only in ACPI but USB as well devices will wrongly claim
IRQs due to wrong IRQ priority.
It may be solved by crafted kernels.. but the obvious solution
is to load the modules orderly and assign strictly required IRQs.
It is not going to happen on the potterix systemd things..
Paul