How to get a camera to copy location of character from a different scene in BGE
Scenes have no "relation" to each other. You need to define a relationship by yourself.

I guess you want to mean the same relative coordinates or both cameras (example: the middle of one camera is the middle of the other camera). This shows an advanced example: https://youtu.be/rnjzoQM273A

I guess you do not need such high sophisticated solution. I simply assume:


The scale, orientation and location of both scenes is supposed to be the same and remains constant


This helps to simplify the system quite a lot.

It allows to copy the current world position (orientation and scale) from one scene to the other without converting it.

objectInSceneB.worldTransform = objectInSceneA.worldTransform.copy()


But there is a small but important issue. When you do it that way the target object might be rendered before it received the new position. That creates a one frame delay. While it does not sound a lot, it is very noticeable especially on cameras.

To solve that I created an invisible "master" object in one scene. Each scene (including the scene with the master) gets a visible "slave" object. Then I constantly copy from master to all slaves. This still creates a delay between the master and the slaves, but all slaves receive the change at the same time. As only slaves are visible there is no visible issue.

In your case I recommend following:


have one master camera (the user does not look through this camera) in one of the scenes [call it "Camera.master"]
have one slave camera at each single scene (= active cameras)
copy from master to all slaves


synchronizeCameras:

import bge

scenes = bge.logic.getSceneList()
slaveCameras = [scene.active_camera for scene in scenes]

for scene in scenes:
    masterCamera = scene.cameras.get("Camera.master")
    if masterCamera:
        masterKey = masterCamera.get("master")
        for slaveCamera in slaveCameras: 
            if slaveCamera.get("slave") == masterKey:
                slaveCamera.worldTransform = masterCamera.worldTransform.copy()


Installation


Copy the above code and paste it into a new textblock of your blend file. Name it synchronizeCameras.
Add an empty to any of the active scenes. Name it Synchronizer.camera. Switch to the logic editor.


Add an Always sensor. Enable True Level Triggering, to ensure it synchronizes at each single frame.
Add a Python controller in Script mode. Select synchronizeCameras. Connect it with the always sensor






Select the camera that should act as master camera (the camera you can move around)


Duplicate the camera shift-d. 


Rename the new camera to "Camera.master" (the same name as in the script). This is the master camera. It is the camera that will determine the location of all slave cameras.

Select the other camera (where you copied from). This will be a slave.


Ensure this is the active camera of this scene ctrl + numpad 0. (You will never look through the master camera, you always look through the slave cameras).
Remove all logic bricks from this camera.
Un-parent the camera if it is parented (it should only move via the above code) 






Run your game.

Include/exclude

[Edit]

To include/exclude slave candidates you can define a master key. At the master object setup a property "master" (e.g. String: "camera"). Then setup a property "slave" with the same value at each slave that should be synchronized. In your case do not setup the property slave at the camera of the overlay scene (or at least not with the same value).

This even works dynamically. You can change the properties in-game to enable/disable synchroinization on-the-fly.