The documentation of "at" says that "substitutions are made in series, not in parallel". However (thankfully) that does not seem to be the case:
(%o1) f(y + x, x - y)
(%o2) f(2 x - y, x - y)
(%o3) f(y + x, x)
Clearly, this is the desired behaviour, but it's at odds with the documentation. Perhaps adjust the documentation?