To start with, this is a very common problem with any of these diesel trucks.
The vent in the top of the tank does not play much of a role when filling the tank. It's main role is to let air in as the engine uses fuel.
There is so much fuel going in, they had to have some way to let a lot of air out of the tank. That's what the plastic line inside the filler is all about. They are trying to keep all the air coming up the filler neck away from the fuel going in. If you don't, the fuel will start "gulping" as it interferes with the air coming back up the filler pipe and it will splash up and hit the station filler gun shutting it off.
I had a terrible time with my pickup. The first advice I got was to get rid of the tube within the tube in the filler. I put it all back together, and thought I had fixed it but it really didn't do anything, it would still spit back foam and cut the station gun off.
The next thing I did was drop the tanks, and take the original vent and plastic roll-over valve out of the grommet in the top of each tank. I found a copper elbow and solder that to a short piece of copper pipe and that slipped tightly into the grommet. Whatever elbow you use, it has to be very tight, there is hardly any room above the rear tank for this setup. At the end of the copper pipe I slipped a piece of 1/2" rubber hose onto it, tied a loop in it way up inbetween the inner and outer bed, and let it hang down with a piece of old window screen on it to keep the bugs out.
The last modification fixed it. I can even fill it with one of the 18 wheeler nozzles, but I have to be careful with those. When I had the filler out I knocked it out larger so I could use the big truck filler guns. The larger vent system now lets a lot of the air go through it when filling, reducing the gulping from all the air coming up the filler hose.