Transparent fullscreen surfaces
xdg_toplevel.set_fullscreen
says that
If the fullscreened surface is not opaque, the compositor must make
sure that other screen content not part of the same surface tree (made
up of subsurfaces, popups or similarly coupled surfaces) are not
visible below the fullscreened surface
While that is useful for some applications, for use cases like transparent+blurred fullscreen application launchers or terminal emulators, it takes away functionality that users expect. KWin currently doesn't enforce opaqueness in part to not break that expectation, but that of course has the potential to break clients relying on that functionality.
The most straight-forward way to handle this would probably be to add a set_transparent_fullscreen
request (plus the corresponding capability and state) that allows for (partially) transparent surfaces.