The default subtitle stream is the first one (marked with a (*)) and it's also the one that's selected (with a (+)). Here the first two subtitles are built-in, with languages English ( eng) and French ( fra) respectively, while the third one is from an external file. Subs -sid=3 'file1.srt' (subrip) (external) For example, after running mpv file1.mkv: (+) Subs -sid=1 -slang=eng (*) (subrip)
The stream indices, their languages (if the subtitle has a specified language), and whether the subtitle comes from an external file, are displayed in the terminal when you play your file with mpv. In general, the built-in subtitles will (logically) have the earlier indices. The streams are assigned consecutive, integer indices (1, 2, 3.). Irrespective of how they were chosen (built-in or from an external file) each set of subtitles will be in its own 'stream' when you play the video file. or by playing around with -sub-auto (e.g.
If not, you can specify the subtitle files explicitly by adding the options -sub-file=subtitle_file_lang_xx.src, -sub-file=subtitle_file_lang_yy.src etc. if your movie is called file1.mkv your subtitle file should be file1.srt). I'm going to assume that all the subtitles are either built-in (as specified in the question) or in a separate, but suitably named external file (e.g. I think that the best approach is with mpv (available via sudo apt install mpv).