Have you tried setting your audio session category to “AVAudioSessionCategoryPlayback”?
That works for me. My app also has the location and audio flags for background execution set in plist.
Both GPS and Flite continue to work for me with the screen locked.
The problem I had was that my app was rejected because the “plays background audio” flag was set and my app did not play background audio. Flite doesn’t count as background audio. I had to add background audio to my app in order for it to be approved.