Custom death camera weirdness

We have a c++ custom camera class we’re using when the player dies - our code is in our overridden PawnPendingDestroy: MHPlayerController::PawnPendingDestroy(). Originally, we spawned it only on the client, thinking it was only needed there, but since it never worked on a dedicated server, maybe there was some network server code that cares about the ViewTarget and is interfering. So I moved it to spawn on the server and made these two calls (which came from ShooterGame I think):

SetInitialLocationAndRotation(CameraLocation, CameraRotation);
SetViewTarget(FocusTarget ? FocusTarget : this);

as well as setting this:

bAutoManageActiveCameraTarget = false;

as well as made the class replicate, always relevant, and replicate movement. What we see is a camera that doesn’t seem to be the active camera, even though we make the SetViewTarget call. It works fine when we run on a listen server, so we know what it should look like. The thing that baffles me is that our custom camera class’s ClientSetViewTarget RPC (Client, Reliable) shows its Role as being ROLE_Authority, how is that possible? We didn’t set it to be bRemoteOwned, so that should be false by default.

I’m really confused, maybe there’s something fundamental about the player controller and view targets that I don’t understand? The PC is valid on the client during everything, our camera class variable (in the PC) gets replicated, but something is clearly missing…any ideas?