you can put anything inside a decal, images, text, whole worlds, games, applications, but you are inside a threejs context. threejs has nothing to do with html, html has nothing to do with threejs, html lives on top of the canvas. it is not possible to warp html, css can’t do that. css3d can position, scale, skew and rotate.
as for complex text decals, drei has text and text3D, there’s also a flexbox implementation on pmndrs. you can do a lot, if you want to wrap it onto a surface it has to happen in the webgl/threejs context.