You’re right. If you have an object already in Production, deploying it with DCP will just flag the object and fields as being part of the package, but no data will be lost.
Also, if you delete a field between 2 versions of a package, data won’t be lost either because the field will just be marked as deletable:
Learn how to use Salesforce DX to develop and manage apps on the Lightning Platform. Explore the entire development…developer.salesforce.com
I haven’t been through this use case in a real life scenario for now, but at least it’s the way it’s described in the documentation :)