I'm pretty certain that is is due to the underlying
JENKINS-20682 problem. That moves the folder where the jenkins.war is exploded into a location chosen by Jetty (TEMP Dir). However the old location pointed to by --webroot (/var/cache/jenkins/war in my Ubuntu system) is not cleared out and contains the last exploded version of the jenkins.war file.
Jenkins still seems to be using the --webroot version of the exploded war to serve up images rather than using the most recently exploded war in the TEMP dir. Thus any added/changed images are not picked up and either result in a 404 not-found or the old version being served.
I worked around this by shutting down my Jenkins and moving the old exploded war file out of the way
sudo mv /var/cache/jenkins/war /var/cache/jenkins/war.gone
Note you can remove the /var/cache/jenkins/war directory but I played safe for now just in case I needed to put it back.
When I restarted Jenkins it fell back to using the images from the exploded WAR in the TEMP dir and all is happy.
The underlying issue obviously needs resolving but this workaround should help people to get the missing images back.