So then we agree on that point. But lets see if Core will do it.
Based on Greg's comments thus far, I'm sensing resistance.
It makes sense though. SegWit + 2 MB block size right now would be pushing it.
Segwit as a hard fork could enforce a 2 MB limit on the transactional data (i.e., including the segwit data).
With segwit as a soft fork, an accounting trick is necessary in order to limit the non-segwit data to 1,000,000 bytes (if segwit = 0, then this inequality reduces to "base <= 1,000,000 bytes"):
base x 4 + segwit <= 4,000,000 bytes
But with segwit as a hardfork, we would have:
base + segwit <= 2,000,000 bytes
Or more simply:
transactional data < 2,000,000 bytes