I've been looking for an answer to this off and on for years - lots of people see the issue, and there never seems to be a solution. Finally came across a post[1] that claims to be from a Plex employee(?) that says that if Plex needs to do any transcoding on a file, and if it can't determine, at the beginning of playback, how long the media is, then it sets the media length at 2:00:00. Apparently, situations where it can't determine the length of the media fast enough(?) include the media drive not being spun up.
Seems to me, since people have been noticing this for years, they could fix 90% of the cases just by changing that default to 3:00:00, since most movies aren't that long. Or wait a little longer for the hard drive to spin up.
PS: I've always been confident that it wasn't a configured timeout, whether in networking or server inactivity or whatever, because if I'm watching a movie that's 2:15:00 long, and after an hour I pause the movie for 10 minutes to make popcorn, playback doesn't stop 2 hours after I started it, it still stops at 2:00:00 in the indicated time played of the movie.
[1] https://forums.plex.tv/t/playback-stops-at-200/719988/5