SSRS external image not displayed when value set by expression

I've gotten to the bottom of it finally. This issue turned out to be caused by a bespoke ReportProcessor class that has been added to the MVC application that manipulates the RDL before the rendering even takes place. Specifically it removes the = character from the Value node of Image nodes in the RDL. It didn't occur to me that the report wasn't getting to the rendering stage in its original condition. I'll pay the price of that with the Reputation I spent!

This issue will be unique to people who have introduced a different ReportProcessor that does manipulation of the RDL in this way, so I don't know how useful it will be for people finding this question on SO. I'll leave it here as it could be used as a list of things to check.

Sorry for wasting everyone's time. Thanks to Mike-Honey, user1429080 and AndrewE for their time and effort.