Okay, well after many many iterations I've come to some solid conclusions and found a partial solution.
It turns out, MPF is not able to recognise and turn off multiple music tracks within the sound_player at once. I'm assuming because there generally wouldn't be a situation where 2 music tracks are playing simultaneously. I will only recognise the first one in order and not the second one.
So when the code is written like this in my game mode:
mode_find_keys_started:
find_keys_music:
action: play
subsequentball:
action: stop
firstballintro:
action: stop
It would stop the subsequentball music but not the firstballintro music. This is why I then had to have code to stop the firstballintro music in the base mode. The problem with that, is controlling sound in the base mode led to that short cutting out of the music.
The workaround I found was to create a counter that identifies the ball number and whether any game mode had been played yet to create events.
I can then trigger different sound files to stop depending on the event.
Pretty fiddly and doesn't seem like the cleanest option but it seems to be working for now. I attached my updated yamls for reference.
Now I just need to sort the slight lag in the show_player during when the mode is played for a second time. I might do a similar counter fix and just adjust the light shows when the mode is triggered for a second+ time.