Hi Richard,
Hydrographic Surveyor here!
The two most common methods would be pressure (underwater) or sonic/radar (above water). Lidar probably not, because other EM freqs would be more suitable.
If you are looking to install it permanently (like at a bridge / river bank), I would go with a radar/ultrasonic. Just bolt it on, easy to access, download / transmit data from.
Whether it is radar / sonic would depend on the range above the water and the power / freq of the trasmitter / echo sounder.
Radar obviously works better through air, but ultra-sonic is okay over short distances.
You would want to understand the max variation of the river height, so your system doesn't go under water, but equally not so high you need to much power to get a two-way return.
For underwater, there is a bit to consider, like how you convert pressure to depth (water density formula based on sality / temperature) - depending on accuracy needed.
To install underwater, you will obviously need to anchor it sufficently to the seabed (or fixed structure like bridge pier) and then have a method to recover it to download, or install a telemetry cable to the surface.
The issue with a seabed installation is avoiding silting / coverage over time and avoid it being washed away (particularly in a river).
The final consideration is how you link your measurements back to a "height" above something (ie: to know if a road is flooded).
For above water installation (or installation to a fixed object like a pier), that is pretty easy.
You can just run a tape to measure the vertical offset between the sensor Zero and the top of the road, or whatever your datum is.
For below water - the easiest method is to install the sensor, get a stable measurement on its depth below the surface, then measure from the surface (water line) to your datum and you have connection.
A final note: generally we would calculate the 'depth' (or height) based on the average of 60 obs over 1 minute. That helps smooth out ripples, waves, vibrations from cars over a bridge, etc.
I came across your question as I am looking to put sensors on my farm water tanks, and trigger solar pumps.
Thanks.