The issue with your SPARK is you have used an iphone here . Never use iphone for DJI products. It always screws up the GPS coordinates !! Always use Android for drone application involving DJI
You are right for some temporary moments. But in the long run always fly minimum 80 to 90 meters high.. If there is a cell tower, compass errors are for sure even thought you did calibration prior to flying...
The biggest mistake you made is flying at low altitudes. Never fly a small drone at low altitudes as they dont have much redundant systems in place. Minimum height must be 100 meters and above especially for long flights.
In theory running the SPARK without an RC limits the flying distance and altitude to 30 meters and 20 meters respectively. So in this case how can you pass the distance limits !!
I havent tried this option but i am concluding here it is not possible for the moment and also risky by the fact...
RTH would not create any problems as long as you update the home point manually or automatically.
I too have gone nearly 1500 meter distance using the latest versions and an android mobile. using FCC 5.8GHz
i think it is mostly bad software programming by DJI engineers. Also to reduce costs, they do not test the software for quality and let the bugs come from buyer feedback.