Don’t forget about the Kivy framework. It’s a python framework that renders openGL accelerated UIs, also headlessly on the raspberry pi if needed.
https://kivy.org
I have an application deployed on Raspberry Pi 3 machines running a GUI touch application running on EGL without X11. To do so you set the Window provider to `egl_rpi`. My recall is that I had to do a custom build of Kivy to do this at the time. I'm pretty sure you can do this with a Raspberry Pi 4, but I don't know for sure about a Raspberry Pi 5.
Can you really use it without a desktop env though? Would be cool if one could launch it in full kiosk mode from the headless tty.