I'm have an SVG icon that I style using CSS. The CSS is loaded from within the SVG file itself using a
That's how SVG works when used as an image. The data must be complete in a single file in order to protect user's privacy.
The mental model you need is that it's going to work and act in a similar way to a raster image, they are single files too.
You can still use a
<link> tag but you'd have to encode the data as a data URI within the svg file itself.