Had the same issue on the YJ (old gauge, new wiring, plastic tank). I found a bad ground on the sending unit. The chassis wiring all checked out resistance wise, I could make the gauge move with a variable resistor, but the tank ground had broken and the chassis harness is grounded to the frame.
No ground, bad gauge reading.
Saved me from buying stuff, but I still had to drop the tank to find the problem.
If that's not it - Yup, sounds like a sending unit.
Pat