If the union is done on the client, then modifying to a file stored in the base layer would involve reading the file contents over the network, then writing it back to the server over the network again.
A union performed on the server would only result in local IO when copying the file between layers.
I'm not sure how much of a difference this would make though, since it'd only really hit renames of files in the base layer or partial modification of files. Neither the "truncate and overwrite" or "write to a temporary file and rename over old" methods of writing files would show much difference between server and client side unions.