Please have a look what is the current state of the GPIO pins and UART configuration in config.txt.
sudo pinctrl -p
sudo gpioinfo
cat /boot/firmware/config.txt
Explanation:
Since you have reported that the restart works, I assume that the GPIO4 pin is OK. But the second pin GPIO14 (UART TXD) must also be working/configured correctly.
After the shutdown is signaled/detected, the process works in reverse. The GPIO14 must have a defined state. The MCU (RP2040) searches/watches for the GPIO14 pin to go down. If this is not the case, it will not switch off the power (as you described). Maybe the UART initialization has changed with newer kernels.
For more details and a hardware test: Power switch problems - #7 by HarryH