Here’s my take as a security software dev for 15 years.
We put too much code in kernel simply because it’s considered more elite than other software. It’s just dumb.
Also - if a driver is causing a crash MSFT should boot from the last known-good driver set so the install can be backed out later. Reboot loops are still the standard failure mode in driver development…