OK, now that you have confirmed you have a P4A, this uses only 2.4Ghz, same radio as the P4. You are posting this in the
P4P (these use completely different radios with 5.8Ghz) section of the forum so it's important you tell us exactly what you have. Your first post stated P4.
Sugestion:
For the P4A, go into the channel section of the app. Choose a custom channel manually that has the least traffic. You'll see the 2.4Ghz traffic for each channel, select the least busy channel. AFTER you select a channel manually, you will see an option pop up to set the "Transmission quality". This only appears AFTER you choose a custom channel. Set the Transmission quality to 4mbps. Try that and see how it works for range.
As for the GL300C that you are using with that P4A, for some reason DJI made the GL300C with a weaker radio. If you measure the signal strength from the radio with an RF meter, you can compare and see it's inherently weaker than the GL300A from the P3P. You can check out my
test results on this from 2016. Since this radio is inherently weaker, I used the Inspire controller with my P4 and then got what I call "normal range" support from my P4 of 2-3mile (FCC). The windsurfer parabolic antenna helps, but not nearly as good as when using GL300A or GL658A controllers. I finally installed an Itelite antenna onto my GL300C and that seemed to work much better, helping optimize the inherently weak RF radio in the RC. But I still use the Inspire controller with my P4.