Edit: revised the solution to skip looping through components. Turns out there’s a GetParentComponent function that actually gets the ChildActorComponent the given child actor was spawned from.
Old solution:
I do not like this solution, but I came up with something that works for this case. I have to get the parent actor for the child in question, loop through all of its ChildActorComponents, find the one with a child actor that matches what I want, and then send a special RPC with that ChildActorComponent. The RPC can then extract the server’s version of the child actor from the component and carry on. Here’s an example where I detect if it’s a child actor, and if so follow a different path to send the server RPC.