I have tested that, if I create the index first, then update the tuple, the index entry will only point to the new version of data. That's why my question was specifically about creating the index after updating the tuple.
IIUC it’s just a seemingly low-value optimization that no one has bothered to implement. The code path in question handles both initial creation and reindexing and the later needs to keep the chain intact for concurrent readers. It just doesn’t seem worth it to offer 10% off new index creations and then charging full price thereafter. It could actually be a bit counter-productive since your initial evaluation period would be skewed toward the positive.