Any brand of FC firmware that does GPS PH can hold very accurate PH for a short time (minutes), but the GPS itself drifts. On the GCS, watch the GPS wander over the course of an hour when the quad is on the ground in one place. DJI GPS unit filters it's coordinates for less drift, but it also doesn't respond as quickly as raw GPS coordinates. By my testing with stock settings for all, DJI NAZA-M FC probably holds a smoother PH in zero wind, but LibrePilot FC can be flown at higher speeds; also in high turbulent wind that would ground a DJI.
The main issue is that over longer time periods, GPS is less accurate than over short time periods. That is why it is best to capture a home / base location with each battery. That is why with advanced firmwares (such as LibrePilot) that allow you to store waypoints in a flight plan for use another day, the corridor the waypoint flight flies in must be at least 6 meters wide (2+ meter horizontal deviation) and at least 4 meters off the ground (3+ meter vertical deviation). These are my own trial and error deviations that I found work.
Vertical PH is greatly helped by the use of a barometer that is accurate to 4cm (all GPS capable FC firmwares and hardwares), but baro altitude of one day doesn't work the next day when a storm front approaches and the local barometer has changed a lot.