I understand that for sure.
But you will not be using true vectors as long as there is any raster images inside the SVG. SVG format is useless while they contain raster images since they will not scale at all and will give you weird results as you’ve found.
SVG is best for icons, logos, simple background elements and things like that, to allow scalable quality and small file size. In this case, I think the rule of “use SVG” has led you astray a little. Though, you could use SVG for the text only, similar to an option that I will explain next.
You should be able to save the images with text as PNG without losing the quality, provided they are the right size. And save the photo only style backgrounds as JPG to save on file size. (always save for web).
As it stands, the images are way too big to load correctly anyway, so you would need to reduce the file size regardless of quality.
To be honest, I would adjust the way you implement this, but it may get a bit technical. What you’re trying to achieve is quite a technical effect.
You could use raster (image only) JPG/PNG backgrounds that switch out, and put the text elements (or SVG with outlined text only) in the markup separately. Just set the classes/IDs on the new text element divs/SVGs and show/hide them along with the correct background.
This will have the added benefit of the text being searchable for SEO too.
That’s the approach I would take personally.
—–
Now, your title of this thread says the SVG is “SVG not showing up on media file or on the front end”.
Are you able to upload a proper SVG to test please?
Here is one that I know is ready for upload: https://www.dropbox.com/s/qq9nx5ys9oyqqqd/mrbill-sample-pack-15_min.svg?dl=0