Firstly: I was able to fix the CHROME problem on iOS by making sure all the event handlers were NOT async functions. I blame AI for making these async in the first place as the expo-audio APIs do not need to be awaited.
Secondly: To get iOS to work I did the following little trick, when I first (in the event handler) call to play, I did a play, pause, play. I get a warning in there, but for some reason this manages to do some of the "priming" I needed. I do not know why this worked, but a lot of trial and error led me here.
Perhaps at some point I might try to reproduce this issue and fix in a small project to give back to the expo-audio.