Apparently, M-series GPUs do not natively support OpenGL. This should mean that OpenGL shaders won't run on these GPUs, but that's not actually the case: games like Minecraft (in the new, shader-based "Fabulous!" graphics mode) and Garry's Mod (the latter using DirectX under Windows), which both use only OpenGL and GLSL, run perfectly fine, albeit with some significant performance drawbacks and compatibility issues.
Even the performance/compatibility problems aren't consistent across all OpenGL applications, since the ROBLOX client (when forced into OpenGL compatibility mode) actually runs better under OpenGL than it does under Metal on the same machine.
This would mean that Metal has some amount of compatibility with OpenGL, that somehow also runs worse (or better, depending on the application?) and doesn't support features like geometry shaders. Either that, or I just have no idea how graphics APIs work (probably the latter).
Is there an explanation for this behaviour?