I have same issue. I even check when I'm online that offline file is used (almost no network traffic visible in Profile in comparison with online content playback).
Have you find the solution for this problem?
that's a problem mostly on iOS 10 or when using AVAssetDownloadTask. I recommend to drop support for iOS 10 and using AVAggregateAssetDownloadTask.
Your issue is very likely caused by HLS stream manifest containing higher bitrate than 10MBit (or perhaps 8Mbit). In that case even if you have the stream downloaded for offline playback, the player tries to start with lower bitrate, but because you don't have it, playback cannot continue. If you connect network monitor tool, you will see that player will switch to lower bitreate and downloads first segment of lower bitrate video (for example only one 10 second segment) and then immediately switches to higher bitrate. This low bitrate segment gets stored in your local movpkg and next time when you start playback, it works offline without any problems.
To fix this, you will have to either download highest bitrate and lowest bitrate (it can add a few percent of storage needed) or you need to limit high bitrate to be below 10Mbit. Or maybe it's just video being higher resolution than Full HD (1920x1080p) - don't rememebr precisely logic of the player.
I hope this info helps.