Good question and excellent answer. Add the those factors already mentioned the actual size of the tide on the day as well as the amount of fresh water (non-tidal) coming down the river due to rain in the catchment.
Basically when you're inside the mouth of an estuary, in the tidal zone, the water will still be running downhill beyond the precise time when sea-level starts to rise at the mouth. The closer you get to the mouth, the shorter the lag will be.
And to complicate things, during the smallest neap tides the far upper reaches of the tidal zone may not even get any incoming flow at all.