AFAIK: If your discovery server is running inside your network, all local syncthing nodes have the local ip and port in the discovery database. The discovery server uses the ip from which the clients are connecting.
So all external nodes will be able to find each other and all local nodes will find the local and the external nodes. As the external nodes probably won’t have port forwardning / UPnP, the local nodes won’t be able to connect to the external nodes.
In short: The discovery server needs to run outside your home / local network (e.g. VPS) to be used by internal and external nodes.