Unfortunately at this time there isn’t anyway to set the defaults based on SDH vs non-SDH.
You can check to see if there is a feature request to allow this, I think there might be some feature requests for subtitles but I’m not sure. If there isn’t, you can create a request yourself but a feature request, even that gets a lot of votes, is no guarantee that Plex will actually implement it.
Another option is opening a thread about the app not properly changing subtitles on iOS and providing client and server logs that include you attempting this. If a Plex employee sees it and gets the info the right team and they can reproduce it, you might get a fix in the app which would then lessen the need for this.
If you are comfortable with SQL, yet another option is to manipulate the database, though I do have to add the warning THIS IS NOT RECOMMENDED BY PLEX and can result in you messing up your database if done incorrectly. If you do go this way, make sure that you backup your database prior so that you can revert to a working one if you mess it up.
With the database method, you would need to basically find the id for the subtitle that you want to be the default and then get the media_part_id for the episode/movie and do an update to the table that stores the chosen audio and subtitle selection. You would then need to do an insert if nothing exists for that episode/movie for the account you want to update or update the value if there is already an entry.
Based on that, you can see why it’s not really recommended, especially if you are not familiar with SQL, however there are people that have directly manipulated their databases at their own risk (and I’m one of them and I have screwed up my database doing it but was able to recover from a backup).
Otherwise, the only other thing to do is like you mentioned and to select the tracks you want from the web app to be the one you want.
I know that isn’t what you want to hear, but one thing I can say about Plex, even though it’s still not how you would prefer it, is that compared to Emby and Jellyfin, Plex will at least remember your selected track and use that on different devices. With Emby and Jellyfin, you need to select the correct track each time, even on the same device, which to me is a pain as I like to default everything I add to my server (for myself and one managed account and another account I use for my family’s beach house) to specific tracks. I do it for the other accounts because I know the person for the one account and my family for the beach house account won’t change the track to be the best track for the setup (surround soundd vs the stereo track).
I would love if Plex would allow to have per device settings for each account along with defaults per device so that you could say this device under my account can use stereo for the audio but I want this device to use surround sound and the same for subtitles. That would be great for situations where one has a home theater but also a regular TV without surround sound and wants the highest quality audio for the home theater but only wants stereo and say non-SDH subs for the regular TV setting and not have to constantly make the change.
-Shark2k