I have some updates based on my further investigation:
I opened chrome://gpu and saw the following error logs:
GpuProcessHost: The GPU process crashed!
[4324:4324:0715/193543.646088:WARNING:sandbox_policy/linux/sandbox_linux.cc:415]: InitializeSandbox() called with multiple threads in process gpu-process
After adding the --ignore-gpu-blocklist flag, I can now see that WebGL works and VMware hardware rendering appears in chrome://gpu.
It seems that on RHEL systems, Chromium disables VMware hardware rendering by default, and SwiftShader has some compatibility issues with the system.