Great job!
As per sorting on the GPU - maybe you can try Compute Shaders using WebGPU (and fallback on the WASM if not available)?
THREE compute example:
https://threejs.org/examples/?q=webgpu#webgpu_compute_points
General article:
Not sure if you can have WebGL and WebGPU running at the same time though (or how compatible is to just use WebGPU renderer instead of the normal one)