I know this is xid specific, but I run into this problem with ID (uid) as well.
If you implement a fix allowing the xid to be used as a reference only in the latter uses, then the fix to use blank nodes as ID pointer is not that far off either, I wouldn’t think. I don’t want to have to use xids everywhere to enable deep nested add/update mutations