I was giving this some thought and looking at the drawings in the Bultaco books. All of the bearings I took out of this engine were of the plain open type and this I think is where the problem lies.
The area around the front sprocket (35) is always dirty, muck, grass, twigs and water gets dragged around it by the chain and there is really nothing to protect the oil seal (39) on the output shaft. Even if you where to place a felt washer in front of it, it wouldn't last long. All of this debris running past the oil seal in time damages the seal and lets water creep in under the lip of the seal. Because the bearing (36) behind this seal is of the open type the water gets through the bearing itself into the gearbox.
My solution is to use a 2RS bearing on the output shaft but to remove the bearing seal on the gearbox side of the bearing. You can do this easily with a penknife, just lever it in below the edge of the seal and pop it out. The inside face of the bearing is now still open and lubricated by oil in the gearbox, but the outer side is sealed.
With this setup if the oil seal on the output shaft gets damaged and water creeps in underneath, there is a secondary seal on the bearing itself to stop it getting any further into the gearbox. That's the theory anyway !!
By the same theory I used a 2RS bearing on the clutch side (37) to lessen the chance of gearbox and primary chaincase oils mixing. Again I popped the bearing seal off the inside face to leave this side open to the gearbox oil lubrication.
For the crankshaft bearings (44) I used a class 3 type. Class 3 bearings are made with a greater clearance in the races and are often specified for this application. The greater clearance allows for expansion when the engine is up to running temperature.