Yes, When the wire from the gauge to the sending unit is grounded, and the gauge goes to full, the gauge is functioning correctly.

Next, the sending unit is a variable resister. The power comes in from the gauge (its one of the 4 wires in the connector for the fuel pump), travels down the tube to inside of the sending unit cover. Under the cover there is a piece of plastic that has wire wrapped around it, and there is a contact point beyond the winding that is the units ground wire. That wire runs back to the top and may be one of the 4 wires for the fuel pump plug, (or may be a separate wire).

The float arm has a button on it that rubs against the wrapped wire as it moves up and down with the float. Another button on the float arm makes contact with the ground wire. As the float arm moves up and down with the fuel level, the different contact point of the button on the wrapped wire changes the resistance the gauge senses.

For it all to work, the ground on the sending unit must be a good ground. I ran a separate ground wire just for the fuel gauge sending unit itself to a clean spot on the frame to use as a ground for the sending unit.

The next thing that has to work is the float arm and the button contacts. If the float arm can't swing freely over its complete range, it won't read correctly. You need to be sure the float, or the float arm isn't dragging against the side of the tank, or anything inside of the tank. After checking to be sure you have a good ground, the float free swing would be the next thing I would check considering your problem, especially since the sending unit has been moved to a different tank. Any float arm contact with anything inside the tank will cause the gauge to not work.

the last thing that has to happen (which don't believe is your problem) is that the one button on the float arm has to be in contact with the wire wrapped around the plastic, and the other button has to be in contact with the ground button on the sending unit.

None of the modern day sending units have a very robust system holding the sending units together. The Dakota seems to be among the worst. The float arm is held in position by a small pin that acts as the float arm's pivot point. That small pin protrudes through the outer removable casing on the sending unit and is located with a small bead of solder, then the housing is held against the sending unit with bent tangs on the removable casing. If the bead of solder fails, the float arm can drift away from the contact points as the float moves up and down. Because that soldered pin is also the float arm pivot point, it is constantly moving against the soldered spot. If that float arm has a bend that can roll the float arm as it pivots, the gauge reading becomes flakey. On a Dakota sending unit, this flakey gauge reading tends to be more towards the lower fuel level, as the float arm drops closer to the bottom of the tank (and gets worse as things wear.) I have managed in the past to be able to assure the float arm contact points remain in contact with the sending units wiring, but that success has been limited and doesn't seem consistent from one unit to the next. Basically I'm adding ever so slight more pressure to the float arm so the contact points remain in contact, it takes very little pressure to do that. Too much pressure causes premature failure of the windings, or complete lack of function at all. It really is a pretty poor design, but nearly all are done that way.