Yes, the OS should be able to clean up everything on closing, I don't know how much it has access to a peripheral's resources to clean them up without the help of their driver.
Personally, I had one case where one of my apps crashed when closing because of a lack on cleanup: D3D12 doesn't like the application to close when its window is in borderless-fullscreen mode, I have to switch it to windowed before closing.
There's also the
SoLoud library that requires calling explicitly a cleanup function to avoid some thread randomly crashing the app when closing.
Vulkan drivers are relatively recent, I don't know what the spec says about cleanup, but if it states closing the application is enough, maybe in a few years it will actually always be true?