Are things that complex a delta coding would be needed over sending the whole thing down if etag changes?
As long as the node metadata is static and you're still filtering state-of-the-world to produce the same resources. If clients are only subscribing to static resources then yes, however, if you want to perform dynamic traffic shaping across a subset of resources then you have some state to manage.
We're adopting xDS as an abstraction for our service discovery. Implementing it has been relatively straightforward even with the relatively minimal documentation outside of the hints provided by the Envoy specific configuration elements.