How to split a large mkv file into parts with the *.srt subtitle file separated accordingly?
Add the subtitles to your large mkv file first. Then mkvmerge will split the file with the subtitles automatically.

To add the subtitles, the easiest is to use mkvmerge-GUI. It will also show you the command-line it uses. Or you can try something like this directly:

video="your_large_video.mkv"
st_en="english.srt"
st_fr="french.srt"
out="large_video-st_en_fr.mkv"

mkvmerge -o "$out" "$video" --language 0:eng "$st_en" --language 0:fre "$st_fr"


After that, splitting works fine and includes correct subtitles. I just tried it, and splitted by size and by duration. I'm not sure, but maybe the subtitle timing was preserved more exactly when splitting by duration (--split 1800s or similar instead of --split 500M).