But because it does not, I feel like I should ask: why was it done like that?
I guess that the main reason is that win32u device cache didn't exist when those D3DKMT functions were implemented (there was some caching in user32, but its scope was limited and user32 generally depended on the driver to do more of device management). I think it would be interesting to try to move adapters handles management to win32u eventually.