Nice approach, and the size table makes the case well. Two things that might be worth a line in the post:
The build now needs jsDelivr to be reachable, so committing the generated sprite (or caching the fetched SVGs) keeps CI reproducible when the CDN is slow or blocked.
And if the sprite is referenced with , the file has to come from the same origin as the page, because does not load cross-origin files. That one shows up when static assets move to a separate CDN domain.