To be clear on the 'special' vdev; for future writes, it serves as the sole metadata _store_ for the pool, not a cache, correct?
That is, until you fill it up - which you could.
At that point new metadata goes onto the spinning disk vdevs, as it did prior to the cache. As files age in and out, space gets freed on the cache and some new metadata makes it back on there.
So if you fill it up, it behaves more like a cache.
ALSO, you can add multiple metadata caches to a pool ... so if you fill one up, you can add another ...
Too many years of thinking of the aux vdev types like SLOG and L2ARC as caches, has made people confuse this one frequently.