OpenGL is more flexible and optimized due to the use of new versions of api. It's true if you say that OpenGL is faster and more efficient, but it also depends on your needs.
If you need one cubic grid with texture, webGL will be enough. However, if you intend to build large-scale projects with a large number of vertices, post-processing effects and various rendering methods (and the type of displacement, parallax display, vertex or, possibly, tessellation), then OpenGL may be the best and reasonable choice.
Optimizing buffers for a single call, optimizing them can be done, but it has its limits, of course, and yes, OpenGL will most likely work better anyway.
To answer, this is not a bottleneck in the language, but the api version used. WebGL is based on OpenGL ES, which has some advantages, but also works a little slower, and it has more abstraction levels for processing code than pure OpenGL, and this is the reason for performance degradation - more code is required.
If your project does not require a web solution and does not care about which devices are supported, then OpenGL will be the best and smart choice.
Hope this helps.
Abstract algorithm
source share