There are ESCs that report the RPM the motor is currently at, but because the generated thrust depends on the existing flow properties (speed, turbulence, etc) of the water, the motor RPM is not a great estimator of thrust anyway.
It can potentially be used together with independent measurements of vehicle groundspeed or speed through the water (to estimate one or the other), but that doesn’t seem to be what you’re trying to do.
These calculations and control algorithms are the job of an autopilot. Are you intending to write your own autopilot (in which case you’re considering good questions), or would it make more sense to use an existing one (like ArduSub/ArduRover) and focus your efforts on your higher level goals/use-case?
If you’re open to describing what you’re hoping to achieve with your marine robot, and which parts you specifically want to focus on developing yourself (vs just using existing solutions for), we can give more relevant advice and suggestions.
Integrating sensor measurements always suffers from drift, and require externally specified/estimated initial conditions, so DVL velocities can only provide reasonable position estimates relative to some starting position, and for a limited period of time before the drift error becomes excessive for the application.
For a DVL to be useful for positioning you typically need a source of occasional ‘absolute’ corrections for the integrated position deltas from the DVL, like an acoustic USBL or SBL system (which can be used underwater, but requires the vehicle to remain in range of the acoustic transducers/beacons), or an aerial GPS (which is much cheaper, but requires resurfacing to get the corrections, assuming your vehicle is intended for use underwater).
A compass can often be considered as globally ‘absolute’, though it does have its own sources of error (from electromagnetic noise of nearby electronics, and magnetic noise of nearby metallic structures, along with larger scale magnetic declination differences around earth) which increase the need for absolute position corrections when using a DVL for positioning (because even if the heading estimate doesn’t drift further over time, any heading error still gets included in the integration and causes progressive drift in the position estimates).