One badge shape is defined once, with fill="context-fill" stroke="context-stroke". Each <use> below gives it its own fill and stroke.
A marker draws with the fill and stroke of the shape it is placed on: the same arrowhead on two paths.
A gradient or pattern context paint works the same way: a marker's own placement maps the paint server back into the shape's coordinate space, and a transform between what a <use> instantiates and the shape actually painting it is undone.
The same context paint reaches into a <use>'s <symbol> or nested <svg> target too, measured against that target's whole content (both boxes below), not just the piece that actually paints with it (each box's right-hand half).