If key contains more than one subkey, and I edit non-first subkey, GPG breaks
first subkey signature. At first look everything seems OK, all keys are valid
and works. But if you try to export-import, GPG will filter broken first
subkey. Expiration date of edited key stays unchanged.
I've made key with 3 subkeys and exported it to original.asc. Then I've
imported this file 3 times, expire one subkey and export whole key. Now if you
try to import it - you will get expected behavior with first file and erroneous
in others.
I suppose that GPG always edit first subkey signature, not corresponding one.
I've attached my test files, password "test".