It's MUCH safer to use blockheight as it SHOULD be enforced by miners.
i'm not sure what you mean by this, the type of the locktime (being height or timestamp) doesn't change anything about safety of it. they are both enforced by the protocol and work pretty much the same way.
in fact for longer periods such as 20 years using the timestamp may be better since we can have more blocks or less blocks per day that can accumulate to a big difference in 20 years while timestamp can't change and has a very small wiggle room.