It all depends on the currents. Off the Canadian West coast, for example, are tidal races with currents up to 20knts, if I remember reading that correctly.
The hullspeed for a DS is in the 5knts range, so if your current is 4kts, you'd make very slow progress, unless you have a motor that pushes the DS on a plane (not sure I would want to try that

).
Your 3.5-4HP motor should be fine to get you to hullspeed, but then that speed defines the limit of what currents you can overcome. If, in addition, you have strong adverse winds, your top speed could be less than for calm conditions.
Tidal currents have the nice feature that they reverse direction at predictable times - whereas upriver, the river currents don't. So, if you get stuck, it might be feasible to wait out a tide, but on a river?
