The environment will be known beforehand, but can be quite large (~200 square meters or more).
Large? It's just about half the size of an NBA basketball court
Too many ways it can go wrong IMO.
Burying a grid of RFID tags and measuring strength of signal
Signal strength is a poor indicator, as it will depend on the depth, the "quality" of the dirt, moisture content, mineral content etc. so will most likely vary from one place to another, even in between two tags and the cheap old RFID's won't carry more than 10..20cm in free air, so when you add dirt, they'll be close to unreadable unless you're close (i.e. right above it).
Better bury a grid of signal carrying wires then - cheaper, easier to layout precisely (although may be a bit more work actually getting into the ground, if you have to do it alone by yourself) and a lot easier to read (which makes the "receiver/reader" cheaper as well).
With the 20cm precision you need, you can use odometry for positioning and correct/reset the measurements each time a wire is passed (X and Y). With 5m between each wire in the grid, your 20 cm tolerance equates to 4% and that should keep the odometry readings well in check.
Computer vision triangulation
I'm pretty confident that the computer vision triangulation would work well, but might get expensive. If anyone has an suggestions, I'd be very grateful.
GPS, with the precision you want, will be expensive as well.