I agree that the offline playback is clunky. I don't want to have to remember to pin stuff, or try to build up a cache. I just want to allocate some local storage and have most-recently-played cache of songs. If I allocate a couple of GB of storage that would be plenty of music for a road trip.
Is that a lot different from what happens now? Right now if you check the "Cache during playback", you'll get the recent songs saved. Also anything that's pinned is always saved. What goes out of cache is a bit magic, but it's unlikely to be the very recent stuff.
I think the difference that I would like is to have the offline cache on the phone sync to my playlist history across devices. So, if I'd been listening on the web client, or another device, then I'd like my phone to download all those recently-played songs and just have them available.