I don't know how many things you have tried, but I have success with a Revo in RTB/Land and VelocityRoam on a somewhat old LP version and on older OP releases. I will explain in some detail for other readers.
Settings described are in the GCS System tab, and you use the red up arrow (Save) at the top of the window to save the setting permanently.
Flyaways (especially fast fly aways) in GPS mode are usually caused by bad mags. All high current wire pairs / triplets need to be twisted at least enough so that they touch everywhere. All high current wiring needs to be run as far away from the mag sensor as possible. This may not be possible in a small quad, unless you use an external mag sensor. There are some cases where mags can be green and still be bad, but it would probably be caused by one time coincidence, or magnets / big iron mounted close to the mag sensor. Green only says that the strength of the detected field (as compensated for metal on the aircraft by calibration) is correct for your location. Green doesn't say anything about the direction of the mag field. Of course if you use an external mag (your GPS V9's) and they are pointed in the wrong direction it would cause a fly away. E.g. my V9 is on a post that can be put on 180 degrees wrong... Also, you have to run the mags that you calibrated with. If you calibrated without external mag attached, you must run with onboard only.
Slow RTB (from at least 50m away so you know that it is not actually back to a Base that drifted to a different place) should not be an issue with stock settings. I actually reduce my max speed. It could be slow if you reduced your VtolPathFollowerSettings.MaxRollPitch or .HorizontalVelMax
Won't come down in RTB/Land mode can be caused by ThrustLimits.Neutral/Min set wrong for your quad or the jumpy throttle issue mentioned below. It can also happen if it doesn't ever arrive at Base+AltitudeOffset to it's satisfaction. Also, the default for RTB is Hold (just hover, not land)... Without a good motor cutoff on landing, GPS drift sometimes causes a tipover for my quads that have landing gear.
I use and recommend stock settings, except:
- I have a jumpy throttle problem (even in Attitude mode, so not baro) that effectively increases the motors at low throttle and decreases the motors at high throttle. It is bad enough that sometimes my quad won't come down at low throttle, and I must use off throttle and let it fall down a ways. My solution is to set (System tab) MPUGyroAccelSettings.FilterSetting to 20. For me, even 40 is not low enough. I have 3 quads that need this, even with balanced props. It is possible that changing the stabilization PIDs (I use stock PIDs) D terms might also fix this. I need to test that.
- You must set VtolPathFollowerSettings.ThrustLimits, especially Neutral, especially if you have an overpowered (sounds maybe like your problem) or underpowered copter. E.g. if you are overpowered and can hover at 0.2 throttle then it will never come down.
- I disable VtolPathFollowerSettings.FlyawayEmergencyFallback. Mainly because I haven't taken the time to test it lately.
- Speed during RTB is controlled by (last time I checked) VtolPathFollowerSettings.HorizontalVelMax (default 10 m/s). I reduce this max to 7 or so. Also, you must have enough VtolPathFollowerSettings.MaxRollPitch to achieve that speed. I sometimes reduce .MaxRollPitch to 20 degrees or even less (but not usually because I wonder if that requires VtolPF PID retuning).