SVG with normal CSS is not enough for styling a map in general. For comparison, here's MapLibre style properties for MVT layers: https://maplibre.org/maplibre-style-spec/layers/
Perhaps it's also solvable without the MVT tooling, but something to watch out for is what happens at tile edges: a polygon is split into two so you need to render tiles that are a bit larger than what's visible (to hide the extra seam at tile boundary); further, a map label may extend over tile boundary so you need a way to allow for that while avoiding collisions between labels from neighbouring tiles.
EDIT: and these are on top of performance issues. Maps are full of detailed geometry where GL leaves SVG far behind.
SVG could represent anything MVT can -- but files would be much larger, as MVT is optimized to store the data efficiently.