Per https://phabricator.wikimedia.org/T134409#2266050 it appears to work reasonably well to specify an SVG for client-side rendering in an <img> while retaining the PNG fallback behavior by putting the SVG in the srcset attribute with 1x density instead of listing out additional 1.5x and 2x PNGs. For modern browsers with native srcset support, this will override the rasterized PNG from the src attribute, without the PNG ever being loaded.
This may require fixing the jquery.hidpi srcset polyfill for older browsers to check at runtime for SVG-in-img support, to avoid accidentally loading an undisplayable SVG. (Browsers that do support SVG but not srcset would still load the PNG before the polyfill has a chance to run.)