The transition between music between maps isn't really seamless either though, haha
Using sensors is exactly how I'd do it too. Using the sensor:on_activated() event to call sol.audio.play_music
You might want two sensors per transition, one to okay the field music, one on the inside of that to play the town music.