OS abstraction is indeed a bad idea, and one that doesnt depend on the involved OSes.
But in the issues described in this article, some are caused by OS abstraction, and others were caused by the stable API nonsense fallacy, which is a Linux-specific problem. Not having any kind of stable kernel interface makes it harder for device driver developers to work on their driver. Instead they have to work on the kernel itself, coping with its ever-changing needs to update their work instead of improving it.
I dont mean that we should stop changing these APIs. But we should do so over larger timeframes and with a clear roadmap. Currently its just a giant mess and anyone can decide to rewrite large stacks without any care for the consequences on out-of-tree drivers.