External PGS support has always had known-issues in XySubFilter ever since it was implemented.
1) External PGS seeking is completely broken and will cause the subs to go way out-of-sync. For non-stop sequential playback starting from frame 0, it generally works acceptably if you never seek.
2) Slow opening of external PGS was a regression caused a long time ago by
this commit (Rewrite CTextFile::ReadString, specifically the TextFile.cpp changes) for unknown reasons.
Unfortunately, neither of these external PGS bugs were tracked down and fixed by the original developer while he was still around.