I've been thinking more about the original question and have a few additional proposals:
The bridge symbol should show the opening where you can go under. If this means having half the bridge bordered with impassable wall where it goes over the river and the other half (over land) shown with the bridge symbol so bit it. First and foremost, we're trying to show passibility. If there are two spots where you can go under the bridge show this with two sets of bridge symbols (this might not always work well??)
The tunnel symbol should show the impassable edges of the tunnel on the underneath layer. Again the most important thing is to show passibility vs impassibility. In Mike's example therefore I would not show the tunnel symbols at the edge of the road but only where the impassible walls cross under the bridge.
You can see how I've implemented this in my above map. It doesn't work quite so well for Mike's situation but it would look like this: