I've also been working on a similar project (untethered underwater vehicle) and have stumbled on a few acoustic modem options. This acoustic modem seems to be the cheapest (it's still about $1500 for each end - $3000 for a set):
https://bluerobotics.com/store/comm-control-power/acoustic-modems/wl-11003-1/
It's not a transparent serial link so you have to send data with a set of commands. There is a Python library but no Arduino library. There is a description of protocol with some examples:
https://waterlinked.github.io/docs/modems/modem-m64-protocol/
I hope that helps!