I know this thread is a bit old, but I am experiencing a similar issue. Legend images show up fine when accessing on the internal LAN and have access to the ArcGIS Server. They do not show up when running everything through the esri proxy (esriConfig.defaults.io.alwaysUseProxy = true;). Using fiddler I can see that all calls go through the proxy, except for the actual legend image requests. The images are trying to be accessed directly through the ArcGIS Server Rest url, not the proxy, so this is the reason they do not show up. I think that this may be a bug in the ESRI ArcGIS JavaScript API/Legend Widget, they are forgetting to check alwaysUseProxy and not sending the request through the proxy, unless there is something else I am missing. Did you ever find a fix or workaround to your issue?
Thanks
Simon