I guess that when nested objects are combined with x-model, that there is not a new copy of the whole object but only the property assigned to x-model. Therefore $watch does not see any changes.
Sandbox for demo: https://codesandbox.io/s/kind-water-du145?file=/index.html
If this is intended, how can I watch an object for changes with X number of properties?