Unlike you there are many people out there who do care about quality of drivers. For them it really doesn't matter if the OS has the drivers, it is all about working properly (no crashes, no weird behaviour, etc.). Linux users in general do not like the Nvidia drivers, they much rather prefer those from Intel or AMD because unlike Nvidia's they actually work properly. The stability and performance is there. The fact that both Intel and AMD started to care for Linux has also won a lot of people over. The fact that Nvidia keeps on refusing to do a proper job steers people away.
That was exactly my point. AMD and Intel changed course and improved their drivers. Nvidia did nothing. That's the entire issue with Nvidia vs AMD on Linux/UNIX.
That's another reason to be using those. AMD also had better support at the time when it came to multiple displays.
The problem with OpenCL is that it seems to be on the late side. Nvidia had a chance of building a very solid base with CUDA which is now the de facto standard. Now that Apple, Microsoft and AMD have also turned to doing things very different than previously with the GPU and GPGPU support the landscape has changed yet again.
Those are rather different technologies. If you want to compare OpenCL to anything than compare it to CUDA. Both are meant as a tool for GPGPU. Both manufacturers seem to be supporting things like DirectX and OpenGL equally well.
It's not that simple. If you use an eGPU you can only use it for the internal display in macOS if you trick it into thinking something is connected to it. There are special dongles for the GPU that do that (you put them in the HDMI/DisplayPort port). That would imply that part of the data is also being run through the Mac, not just the GPU alone. Perhaps that changes when you run the Mac in clamshell mode (and thus disable the internal display entirely).