The URLs are absoluteized by the DefaultResourceLocator if its sourceUrl property is set, which happens when Styles.parse is passed a File, but not if it's passed a Resource.

GSDD.parsedStyle passes a resource, GSDD.parsedStylePrepared passes a File.

This seems to be the only way to control whether URLs are absolutized in both SLD 1.0 and SLD 1.1.  Messing with ResourceLocator as far as I can tell would only work for SLD 1.1.