Whilst higher data rate is best, I understand the RF options even in the 900mhz range will not cut the mustard.
Indeed. Those frequencies will get you a range of millimetres, or centimetres at best.
You'll have to go for much, much lower frequencies - in the kHz range - to stand a chance. The big problem here is the size of the antennas, and the very low data rates.
Additionally it appears that acoustic methods and laser have expensive patents wrapped over them.
That must be for very specific applications.
Laser is anyway not likely to work for 20-50 meter distances underwater. In seawater it may work, it can get that clear, but fresh water is usually much more turbid due to algae and silt.
Whilst running a seperate wire underwater is something I want to stand clear of for this project, there is a anchor chain that I think may be of some use as it naturally travels from the boat (where I want to receive the data) to the transmitter at the bottom.
You ALWAYS need at least two wires: one signal and one ground is the bare minimum to create a circuit. The anchor chain should work well as ground connection, especially in salt water which is an excellent conductor by itself, but you'd need to run a separate wire for the data. You may be able to attach this to the anchor chain.
Added complication: if running DC you may get electrolyses and corrosion along the chain, so you'd have to run AC, and that of at least 3 kHz frequency. You would be able to create an AC signal by connecting a capacitor to a PWM output of the Arduino. It doesn't have to be a nice sine or so, as long as you have current go in both directions. Your chain is likely to not be the only current carrier (contact between shackles will be poor at places due to stuff growing on it), with the seawater providing a second route for current to flow.
So as you'll have to run a wire along the chain anyway, you better take a two-core wire for your one-wire communication.