Deep JSON structures are stored as stringified JSON. Any assignment to a top-level key is a replacement of the entire value - deep assignments are implicitly assignment to the key.
Arguably, this behaviour is counter-intuitive when assigning to a deeply-nested property. Feel free to open a GitHub issue with a Feature Request, and post a link here for others to add their input.