Server Version#: 1.18.6.2368
Player Version#: Roku Express 6.4.10.6174-1475be6a9-Plex - Stream
I can direct play MP4 (H.264/AAC) both in a local and a remote Roku Express, but I noticed that as soon as I select to display external subtitles, the Roku sometimes triggers the subtitles to burn-in (transcoding).
I was pulling my hair out why/when this was happening and did some further research.
First of all, the player settings bellow do not affect this result:
Direct Play: Auto or Force
Burn Subtitles: Automatic or  Only image formats
All 4 combinations above sometimes resulted in burned-in subtitles.
So, it turns out that it is the [Language_Code]  part of the subtitle filename in the format
Movie_Name (Release Date).[Language_Code].ext
that affects burn-in !!
In my case I test with an external srt file of greek subtitles encoded in UTF-8. Here’s what happens when I just rename THE SAME FILE in several different ways:
Movie.srt : Roku displays “Unknown (SRT External)”, direct plays
Movie.eng.srt : Roku displays “English (SRT External)”, direct plays
Movie.fre.srt : Roku displays “Français (SRT External)”, direct plays
Movie.ell.srt : Roku displays “Ελληνικά (SRT External)”, triggers burn-in
Movie.ell.srt : Android client displays “Ελληνικά (SRT External)”, direct plays
Again, this is the same greek subtitle file in UTF-8, the only thing changing is the 3-char language code in the filename. I’m using ISO-639-2/B codes as instructed here .