const itself does not prevent copying anything. All it’s saying is: “This function is not allowed to modify the state of this variable”, even if it’s a copy. It’s most useful to make sure, you don’t accidentally set anything in it unwanted.
By using reference, you probably save a copy: the data is transmitted to the server through the network, the server constructs the struct, then passes it to your function. If you don’t use a reference, then I believe one more copy is created on the server side.
So yes, I think most usually you’ll want to have a const reference in RPCs.