Yeah, music is fully decompressed and it uses a lot of memory. We are also forced to do this in WKWebView (just blogged about it here). I guess we need to add a memory management solution for music playback with the Web Audio API. Maybe we could even make it an option on the Audio object so you can choose to opt in to treating music as sound so you get the preloading and seamless-looping benefits? It could easily use 50mb memory for a single track though.
I think the engine already restricts there to be only one music track playing at a time, so maybe if you only pay the memory overhead for the current track, it might be OK...