The default for include-certs is -2, meaning "everything but the root cert".
In some cases, gpgsm will be used with a self-signed cert. In this case, the default means that the signer's certificate simply isn't included at all in the PKCS#7 signature.
This seems unhelpful if the goal is to get the certificate distributed to the recipient, who may have some other means of verifying the certificate (e.g. out-of-band communication).
I think the default for include-cert of -2 should instead mean "the signer's certificate, plus every certificate up to the root cert". That is, it should ship the signer's certificate by default even if it is self-signed, since some S/MIME consumers expect to see the signer's certificate in the application/pkcs7-signature part.