Currently JSON partial update issues only one JSON_MODIFY per json column, finding common denominator for all the changes made. This makes it so that if we modify two properties on the opposite sides of a "tree", we end up replacing the entire tree (if the common denominator is the root). Instead, we could issue two JSON_MODIFY commands composed on each other that would just modify those 2 properties.
This depends on #28845, as we need the ability to modify individual properties first, and also we need to do perf investigation, if this solution is even better than what we do currently (and maybe come up with some good heuristic?)