It seems that function expire_pending_memberships which triggers T::OnEvent::on_event(&sp_membership::Event::PendingMembershipExpired lead to Self::dispatch_idty_call(pallet_identity::Call::remove_identity no matter the instance of the membership pallet (simple membership or smith membership).
We have to add tests to cover this behavior and make sure that pending smith membership expiration does not kill the associated identity.