The documentation for the Sublayer.renderer property seems to suggest that the property only exists for the purpose of overriding symbology, and thus doesn't contain the default symbology. This makes sense since the service information used to load your MapImageLayer doesn't contain sublayer renderer information. For that, you have to look at the information from the individual layers (e.g. layer 0).
Therefore, I suppose you have two options for your legend. You can retrieve the information for each sublayer manually, or you could retrieve the layer's legend information and use that instead. It doesn't contain the renderer information, but does contain the swatches you could put in your legend.