Problem: vExtraTxnForCompact gives compact block reconstruction one more source for recently removed transactions.
Before this PR, the first insertion resized the cache to its configured capacity, so before the cache was full, PartiallyDownloadedBlock::InitData() also scanned default {Wtxid::ZERO, nullptr} entries that had never been added to the cache.
Those unused entries could still participate in reconstruction short-id matching.
Fix: Reserve the configured capacity and append entries until the cache is full. Once full, keep the same ring-buffer overwrite behavior, configured maximum, and replacement order.
Risk: Triggering the affected duplicate-match branch requires a block-specific 6-byte short-id collision while the extra-txn cache still contains default null slots.
With a 16-thread benchmark of the CBlockHeaderAndShortTxIDs nonce-grinding path, the 50% collision time was ~178 days on my machine.