40M triangles will work rather only on higher end desktop devices.
If you increase the geometry size 2x, the download size of the geometry will also increase about 2x (unless you add instances objects, if you add more copies of the same chair, the download size increases only slightly with each new copy).
There is no hard limit on the number of triangles. The limit is due to the available GPU memory. The memory is used mainly by geometry and textures (including lightmaps). For mobile devices staying below 4M triangles is a good rule of thumb. If a device runs out of GPU memory, the scene will fail to load with an error message ‘Scene failed to load. Reload the page to retry’. Unfortunately, WebGL API does not give a way to check how much more memory can be allocated. You can only allocate things until the memory is exhausted.