What hardware and flight mode to use for precise landing without GPS?

I need to be able to take off and land my single copter straight down without any drift or side motion just before and during touch down. The copter may lean, especially if it’s windy, but it must ascend and descend on a straight line. RTL, Land or Loiter help but GPS signal drifts, so the copter also drifts sideways sometimes.

What hardware could I add to improve the situation? What mode should I take off and land in? Best if it is done without GPS. Using GPS is fine as long as GPS drift is disregarded on final touch down.

I understand that LIDAR is just a range finder and provides altitude information only. It will not detect drifting. I’ve read that FlowHold mode uses an optical flow sensor to hold position without the need for a GPS nor a Lidar. I could use both – an optical flow sensor and a lidar if it produces the results that I need.
I’ve also read that Loiter with Lidar works better than a flow sensor but wonder about GPS drift in Loiter.

I’d really appreciate it if you could share your experience and also advise me what sensors and setups work best for you. The more information the better. I hope the sensors can be hard mounted as I cannot use any gimbals. My flight controller is the Pixhawk Mini running Arducopter 3.6.11 firmware. I have to stick to 3.6.11 for now.