The offset that you have between your bathymetry and your elevation model relates to the difference between the Mean Seal Level (MSL) and the Lowest Astronomical Tide (LAT). From the well written text found here we can read that:
The MSL surface is in a state of gravitational equilibrium. It can be regarded as extending under the continents and is a close approximation of the geoid. By definition, the geoid describes the irregular shape of the earth and is the true zero surface for measuring elevations. Because the geoid surface cannot be directly observed, heights above or below the geoid surface can't be directly measured and are inferred by making gravity measurements and modeling the surface mathematically. Previously, there was no way to accurately measure the geoid so it was roughly approximated by MSL. Although for practical purposes, at the coastline the geoid and MSL surfaces are assumed to be essentially the same, at some spots the geoid can actually differ from MSL by several meters.
My bolding of text.
So, from this we can take that, in a coastal region, eg. where you have both a bathymetry dataset and a elevation dataset, the geoid / EGM96 can be assumed to be the same as MSL. From here, we need to find the difference between MSL and LAT.
I personally use WXTide32 for this type of work, but you can also use information from NOAA Tides Prediction. Both systems are based on tidal harmonics. Only problem with using the NOAA Tide Prediction tool is that it doesn't usually calculate LAT, but Mean Lower Low Water (MLLW) is usually very close to LAT. Both WXTide32 and NOAA Tide Prediction will require some fiddling around, in order to give you the exact difference between MSL and LAT / MLLW.