Mobile browsers have never supported preload for audio/video, ostensibly to save bandwidth on cellular data connections (but they still do this on wifi etc anyway). This exacerbates the fact you can only start playback in a touch, since it will have to start loading the track from scratch in the touch. Most browsers don't support seamless audio playback either. The workaround to all of this is to treat it as sound, but then playback won't begin until it's fully decoded and decompressed the track in memory.
These are the only options available in mobile browsers I'm afraid. I've argued a lot against the browser restrictions for music (played with the <audio> tag) pointing out you can work around every restriction, albeit inefficiently, with the Web Audio API, but they've never changed it...
are you sure ?
cause i did done the preload on mobile (ejecta/cordova cli) on both android and ios by executing the javascript call (browser plugin) using these scripts (for example music.m4a)
to preload
var music1 = new Audio();
music1.preload = 'auto';
music1.src = 'media/music.m4a';
to play
music1.play();