Well, that help for that particular overload does state:
"Note: This syntax is not recommended. It creates a legend that does not support all graphics features. Instead, use the lgd = legend(__) syntax to return the legend object and set Legend Properties."
so I guess that would explain any odd behaviour.