The NAS had grown the way these things do: a pair of 4TB drives, then a couple of 8TB ones bought on a whim, then a single 12TB that turned up when a friend upgraded. ZFS doesn't love a vdev built from mismatched sizes, so for two years I'd been quietly wasting capacity by treating the big disks as if they were small ones.
The shuffle itself was the boring kind of careful. I added the new disks as a fresh vdev, let TrueNAS resilver, then zpool offlined the old mirror one drive at a time and watched the SMART data like a hawk between each step. No replacing both halves of a mirror at once, no matter how confident you feel at 11pm.
The thing nobody tells you is how long it takes to not do anything. The resilver ran for the better part of a day, and the only sensible move was to leave it alone. I checked zpool status far too often, saw the percentage tick up, and went and did something else. By morning the pool was healthy, the capacity was honest again, and I had reclaimed about 6TB that had been hiding in plain sight.
Lesson filed: buy disks in matching pairs, or accept that future-you will spend a weekend correcting it.