Core Data is basically a layer over SQLite that turns it into an object graph database.
External data storage lets you offload large binary data from being stored in the SQLite database without changing how you access that data from objects in the graph.
An example might be if you're creating a photo library. Rather than storing the actual photos as say BLOB data in SQLite, you can tell Core Data to transparently store it as an external file. It then basically stores the filename and some metadata in SQLite instead, keeping the SQLite database small without changing the Core Data API to access the data.
Core Data is an object persistence framework for iOS that essentially wraps around SQL. It looks like it’s losing data when the external storage option is enabled.