I posted this before in regards to WebGL development in Godot, but it applies to mobile too. Texture size and compression is a huge problem. You want to use the smallest textures possible that still look okay. Probably not above 2K for a character model, and 1K or below for assets. VRAM compression is needed on desktop for high performance, but it doesn't work on the web. So setting to lossy compression and turning the slider to around 0.7 I found gave the best results.
Real time shadow is too slow. Though it works, I would not recommend it. Use light baking for everything in the environment. BakedLightmap is super fast on mobile and HTML5 (essentially free) and looks substantially better than real time lighting. But you cannot currently mix real time and baked shadow, so use a shadow blob for characters (basically a black circle plane under their feet).
Resolution can be a problem, especially if people play on their phones with hidpi screens or on 4K desktop monitors, it just can't handle it. Even 1080p can be a struggle unless you have a good GPU. That said, on a high end PC system, the graphics and performance are basically the same as desktop native (with some limitations). However, on the web, people are more likely to be using crappy computers or old phones, etc. so I would recommend making the window small, like 540p. Even at full screen, don't use native resolution. You can scale the viewport manually with code, keeping it at a 1080p max is probably safe (or allowing an advanced option for people with high end computers).
Finally, WebGL 2.0 is still very buggy. It's now supported on all major browsers (as of a few months ago) so that is good, but you can't guarantee every user is on the latest browser or operating system version. There are also weird driver/graphical glitches and incompatibilities on mobile. For example, I have a Lenovo Tab 8 (8" Android Tablet) that is not even that old, 2019, but it won't work with OpenGL ES3 or WebGL 2.0. The specs say it is supported, but it has some bunk driver. And you get a black screen after the Godot logo. So you are basically limited to using OpenGL ES2 in Godot (which will export to WebGL 1.0). This is your best bet, though by the time Godot 4.1 comes out with WebGL 2.0, I think the market will be ready.