It is called on the server. When checking directly in the function itself using HasAuthority, it turns out that the function, although it has the “Client” modifier and is called on the server, is executed ONLY on the server:
From the Requirements and Caveats section of this document: 3. If the RPC is being called from server to be executed on a client, only the client who actually owns that Actor will execute the function.
So, in this case I guess your character is owned by server but you want it to be owned by client. Try possessing the character from the client to get its ownership.