You are most likely running into a) the limited subtitle support on various Plex clients and b) running Plex on a Linux based system with a low power CPU.
Subtitle support varies widely across Plex clients.
For example, the Plex LG webOS app does not support direct playing image based subtitles such as PGS or VOBSUB. When such a subtitle track is enabled, Plex must transcode the video and add (burn) the subtitles into the video stream.
On Linux systems with Intel CPUs such as a DS918+, adding the subtitles to the video stream occurs on the CPU, even if the video transcode uses hardware acceleration. This is due to Intel video driver limitations.
Additionally, burning subtitles is a single threaded process, so it cannot take advantage of multi-core CPUs.
Now add a low power CPU such as the Celeron J3455 in the DS918+ to the mix.
Basically, the Celeron CPU is not powerful enough to burn subtitles into the video stream in real time.
As a result, the end-user experiences buffering, waiting on the server to ship it more video with subtitles.
The overall CPU utilization appears low because the process is single threaded. One of the four cores in the Celeron J3455 will be near 100%, but the others are most likely much lower, handling audio transcoding or other tasks.
One way around the problem is to find a combination of video, audio, and subtitle formats that do not result in subtitle burning.
Unfortunately, there is no “master list” of Plex clients and how they handle subtitles.
I do not know how the Roku handles subtitles.
I believe the Plex Samsung (Tizen) app behaves similarly to the LG webOS app:
- Enabling PGS or VOBSUB subtitles results in a video transcode & subtitle burning.
- If the audio is transcoding, enabling any subtitle format results in a video transcode and subtitle burning.
- If the audio is direct playing, text subtitles (SRT & VTT) direct play.
- Enabling SSA/ASS subtitles results in video transcoding and subtitle burning. There is a workaround, but formatting information such as color, font, etc is lost.
Other Plex clients handle subtitles better. For example, the Plex Android TV app will direct play both image and text based subtitles even if the video and/or audio is transcoding (so no subtitle burning). Unfortunately, enabling SSA/ASS subtitles result in video transcoding & subtitle burning.
As mentioned above, one way around the problem is to find a combination of video, audio, and subtitles that does not involve burning subtitles into the video stream.
In general, this will mean using Dolby Digital (AC3), Dolby Digital Plus (EAC3), or AAC audio and SRT (text) subtitles.
An alternative solution is to use Handbrake or similar tools to burn the subtitles into the video stream before adding the media to your server. The downside is the time involved to process the video and also that the subtitles cannot be disabled since they are now part of the video stream.
You could also run Plex Media Server on a separate system, with a CPU powerful enough to support subtitle burning (ex: Intel NUC with an i5 CPU). The media would remain on the NAS.