I've thought about it some, and I think the problem is that the back button lacks the concept of context.
In the music app example, when I first use it I get the front screen, then choose a song.
Then I press the home button, put my phone away and at some point the song stops.
Now, some hours later I open up the music player from the home screen and it is still showing the song, what behaviour should the back button have?
I think it should take me back to the song list (because I am now in the "Music" context in my head - and this is what it now does). But one could argue that the back button should take me back to the home screen.
On android we have only one system-wide consistent timeline to work with, and that's the timeline of fired intents. It works across the whole system. Back works on that level by default and is defined by default as "go back in time".
That's exactly the problem. The user should intuitively understand an action. Since they don't, that means it's Google's fault for implementing it poorly.