Ben,
I do not know about guacamole. Does it need to be a proxy? If not, configure it as a regular service.
During the proxy validation process, CAS makes a call to the services proxy callback endpoint (this is defined in the service definition). This looks to be working correctly, because of the remaining logs you posted.
It looks to me like the proxy callback is protected by login. Thus when CAS calls proxy callback guacamole redirects to log in with the ST. The log in page is returned and this is shows in the tomcat log as an xml error with the img tag.
Turn up CAS logging to debug or add this to log4j2.xml
<!-- DEBUG Response code from server matched [###] may be useful for debugging proxy
Created HTTP post message payload [POST URL] on logout -->
<AsyncLogger name="org.apereo.cas.util.http.SimpleHttpClient" level="error" />
Ray