And true - on Linux a X11 frame buffer DISPLAY is required, but I would still consider this to be headless. On other platforms, it should be truly headless. (I could be sorely mistaken)
See this issue, Angle can support headless completely with vulkan backend, but progress is BlockedOn angleproject.
That said, the Angle version we use is decently old. If we updated it, we would be able to implement WebGL 2 (OpenGL ES 3.0) support. Unfortunately, it's no easy feat to update and integrate the latest Angle, and the project is more-or-less in maintenance mode until someone else comes to take on the task (the project's been revived several times before, so not totally unimaginable!)
[1] https://www.khronos.org/registry/webgl/conformance-suites/1....