The key point is that despite stable api nonsense and a lot of talk of a nonstable ABI to drivers, the kernel driver API has a lot of inertia and resistance to change. Generally new apis are introduced while still providing the old api. Eventually the old API goes away but rarely does it happen in a single kernel release.
The kernel ABI because it depends on Kconfig options is much less stable and there are a lot to choose from on any given release.
In general things don't change willy nilly and kill your driver, even out of tree.
Thinking back on my experiences maintaining code out of tree for sometimes years at a time before it was merged. Yes there are changes but they aren't hard too hard to keep up with.
From the other side as one of the people who make changes in the APIs a lot of work is done to make it as painless as possible for the driver developers. With both the old and the new apis living side by side for a while.