Depends on your application especially how often do you want to collect that information but as a suggestion just have the main "collector" node listening all the time and then the Pytrack nodes send their position based on some movement threshold - or at random time intervals.

What you want is to minimise the chance of on-air collisions due to the PyTrack nodes trying to send their location at the same time.

I applying this for tracking the location of both person using Pytrack+ Lopy which it will send the latitude and longitude to the lopy+expansion board. How can i solve in order to have both set of latitude and longitude?

Is it mean that it will not working for receiving the time difference?

How if i have 2 (Pytrack board + Lopy) that handle by different person such as person A and person B that travelling in totally different place and both of their location will be sending to the Lopy+expansion board ? Which mean the Lopy+expansion board will received 2 locations. Is it still working?

So from what I understand you have two nodes trying to transmit on the same frequency with LoRa as soon as they receive a signal from the Lopy+Pytrack board (also on LoRa)

The problem is the time difference between the two will likely be extremely short so the two nodes are effectively trying to transmit on the same frequency at the same time and in doing so interfering with each other. At SF7 packet transmission of a single byte payload will still take about 20ms (dominated by preamble)

Also I imagine you'll have a relatively large timing inaccuracy between the stack and MicroPython especially with loops involved so I'm not sure what is the practical application of this value.

Time difference of arrival in LoRa - for geolocation purposes - is normally done with a SX1301 gateway frontend which can listen on 8 frequencies at the same time (so no clashes ) and driven by a FPGA for timing accuracy across the preamble.