The precise HomeLocation is not anything a normal user needs to know, except that it should be fairly close to where you fly.
TakeoffLocation is based on HomeLocation. For instance 0,0,0 says it is exactly HomeLocation. It gets set at different times, but by default, when you Arm. TOL is the place it returns to when using RTB.
Before the first flight of the day, you should let it sit, powered up, gathering GPS almanac for preferably 12 minutes. I don't always obey that either... For each flight after the first, at least 2 minutes. This is probably not your problem. If you have stopped using Always Armed, it should be good enough to be better than you are getting, once it lets you arm.
I assume you are using the exact mag settings I posted.
Are you always flying at the same location? Power lines? Heavy industry? Car junk yard? RF interference? Government secure area GPS spoofing (I hear there are some areas where car GPS doesn't work for no good reason). Try another place.
VtolPathFollowerSettings has some interesting things in it. I assume you have not changed anything from the defaults. For instance HorizontalVelocityMax is the speed that you get with full roll or pitch stick when flying VR. The default is 10 meters per second. It's proportional, so even 1/10th of full stick gives you 1 m/s which is about walking speed. Moving the stick at all in VR does produce noticeable motion.
I suggest you switch on transmitter, plug in the quad battery, plug in USB / GCS, go to Input -> FlightModeSwitch page and flip the mode switch on the transmitter around. That will tell you what mode you are in. Then go to Input page and make sure the switch positions are in the middle of the section for each mode. Right on the edge can drift to be a different mode.
Maybe get an OpLink and make a video and telemetry flight log of the same flight. There may be some alarm codes to look at, etc.
Maybe something is set up wrong. There are plenty of cases where a fix seems to work, but two wrongs don't make a right. Save your settings, erase, and redo the simplest setup (no OSD or gimbal) from default settings (not a cloud config).