I had the exact same problem, randomly corrupted assets when reading from the OBB in a native C library using stdio functions. Segments of 128 bytes were consistently corrupted in the mounted OBB. Any changes in the data would shift the byte segment, resulting in a different asset being corrupted. This was only a problem for phones running O/S v.4.4.x(KitKat) and v.5.x.x(Lollipop), phones running 6.x.x(Marshmallow) and later are unaffected as far as I know.
To circumvent this, rather than mounting the .obb, I ended up using the alternate .zip method as outlined here: https://developer.android.com/google/play/expansion-files.html.
I simply packed the data into a .zip with 0 compression(store), renamed to .obb, uploaded it to google play. When the user first starts the app, I extract the file to external storage using the APK Expansion Zip Library and then read the files directly rather than via mounting. This results in the app being twice the size on the phone, but it's preferable to being completely broken on some systems due to corrupted data.