OpenPGP is designed to sign a particular message. When used with OpenPGP/MIME, it authenticates the body of the message and prevents it from being modified. When done correctly, that includes all of the body, including all parts, such as attachments. It is possible to attach additional parts after the fact, and some environments, such as mailing lists, do this, in which case those parts are not authenticated. The digital signature in this case is typically (but doesn't have to be) made by the author of the message.
DKIM signs the entire body, plus a set of headers that are specified in the message. Typically that includes the From
header and other data, but not all headers are included. The signature in this case is typically made by the mail server for the originating domain of this message. That's because the key must be in DNS, and that is usually only handled by the owners of a domain.
In both cases, it is possible to modify the message if one gets access to it. For example, if an email is sent to a mailing list, the mailing list software may modify it. Oftentimes this is done to add a trailer to the message. In such a case, for OpenPGP, if the trailer is appended to the body as a separate part, the signature won't cover that data, but the signature will still validate the signed data. For DKIM, any modification to the body will intrinsically cause the signature to fail validation.
Other cases in which modification could occur include by the system administrator of one of the systems handling the data or by a malicious party along the network path if the connection used to send the mail is not secured with TLS. (Strictly, one could modify the data even with TLS, but because a proper participant would abort the protocol, the SMTP transaction would not complete.)
In none of these cases is the modification prevented, but it can be detected. Typically, when one receives data with an invalid signature, one considers the data as untrusted and, at the very least, does not act on it. One may additionally choose to discard the data and, in some cases, notify the other party over a secure channel about the tampering.
As a practical matter, most parties, knowing that a message is authenticated, either with a digital signature or with a MAC (such as in TLS), will not attempt to actively attempt to tamper with the data unless their intent is to prevent the communication (say, by a government), since it is immediately obvious to others that tampering has occurred. Most cases of modification occur because someone has not considered that the message might be authenticated (and therefore didn't consider whether modifications would be detected), such as with our mailing list example, or because of some sort of accident (network problem, broken software, etc.).