I am taking the 3rd option with my bumper build. I found a way to keep my 33" spare under the vehicle on my 3rd gen 4runner, so instead of a swing-out tire carrier, I will be building a swing-out cargo carrier! Imagine a simple tray that is as wide as the hatch, is about 15" deep from the back of the hatch, but with the bottom level with the top of the bumper. More simply, imagine having a swing-out carrier that held nothing but jerry cans, and you have a rough picture of what I will be doing. My intent is to carry my 45L RTIC Cooler, my 7Gal water box, and a 5Gal jerry can back there.
It obviously won't have the capacity of a roof rack, but my goal was to keep from heaving 50lb objects higher than my waist, while keeping them fully accessible without movibg them. Plus, it will be high enough and shallow enough that overall departure angle will still be limited by my large spare rather than the cargo rack. Finally, with only an 18gal tank, I am already pretty limited on ultimate travel distance. So, I would rather avoid the 3-4mpg hit on the highway from having a cargo rack stacked a foot high with gear.
All that said, if your offroading requires the clearance, or your camping requires the equipment space, a roof rack is really the best option of the two. For big trips, we will likely be taking both 4runners which gives us a bit more usable space for gear :P .