The engine, gearbox, transfer case and both diffs have breathers to allow for air to move in and out with heating and cooling etc to stop blowing out the seals or sucking in dirt through the seal and causing further damage. When the hot gearbox/diff hits the cold water the sudden cooling sucks air in through the breathers, if they are under water then it sucks in a heap of water instead, often muddy water.
The fix is to add fittings and hoses in place of the breathers and extend the hose end up to the top of the snorkel, usually inside so it doesn't look so ugly. A tip, spend the money and get proper swagged fittings on the hoses at the diff/gearbox ends as a simple push on hose also doubles as a simple pull off hose when travelling through a bit of undergrowth and they sweat oil around the fitting, this ends up as an ugly lump of oily dirt right at the fitting after a very short time.
There are many lines of thought on the breather thing, some use an alloy catch tank that all the hoses go into, then a larger diameter hose with an oiled cloth type filter on the end of that up inside the snorkel. The catch tank has a removable lid or what ever so it can be cleaned every so often.. I have also seen the breather fed into a reed valve in the exhaust with a fresh air hose run from the snorkel, the idea is to create a slight low pressure in the catch tank to help vent the gearbox/diff/engine to remove any moisture build up from the oil.... a lot of thought goes into this stuff
