I'm not exactly sure just how the XS400 push rod is set up, but it's probably close to the way the XS650 is.
On the XS650 if you can move the pushrod much the seal is bad. It's bad because behind the seal in the shaft the rod runs through is a bushing. This bushing is worn. This allows the rod to move around. Stretching the seal out of shape.
To replace the bushing and seal is easy. Start by pulling the rod out. Next pull the seal. Start with a drill bit just a big bigger than the rod. Slowly drill into the bushing. It you drill through the bushing before it catches the bit and starts spinning, try the next bigger bit. At some point it bushing will catch on the bit. Once it does just pull the spinning bit out, the bushing will come out with it.
Once you have the bushing out just drive the new one in. I use a Phillips head screwdriver as a driver. Slip a flat washer on the screwdriver, just a bit bigger than the bushing. Slip the bushing on, now put the tip of the screwdriver in the hole the bushing goes in. It might just push in. If not a few gentle taps with a hammer will get it. The screwdriver holds thing straight, the washer prevents the bushing from going to far.
Now for the seal The original has a bead around it that locks the seal in the cases when assembling the case halves, New seal have the bead around it but is tapered to ease the install. You need to bevel the hole the seal goes into, a sharp edge cuts into the seal and will leak. Buy two, just incase the first try fails
Use the same screwdriver trick with the seal just use a washer larger than the seal. A bit of Yamabond around the seal lets the seal slide in place easier, it also help prevent leaks.
You might want to test fit the rod in the bushing before you do the seal. Sometimes the bushing fits tight enough the rod wont slide through it easily. If so a bit of vey fine sand paper on a dowel can polish the bushing out a bit, go slowly test often Don't want a sloppy fit.
Put back together.
Leo