From what I've gathered it's the clowns in suits thinking that putting drivers in kernel instead of behind NDA is some kind of "competitive advantage".
Other reason is that kernel requires some minimal level of code quality and many of the closed source ones are basically "the minimum to make the customer use case work"
Yet another reason is just not wanting to bother with more than bare minimum for chip that will be in market few years and replaced with something newer