Yeah doing it in blueprint it still replicates back down to the original owner, you would have to manually set it on client again.
In c++ you set it to not replicate to the owner to avoid this issue, other than that though it should work, though I didn’t look that closely at the ownership check.