If you have a certificate in the truststore, you "trust" (allow to connect) this certificate and all sub-certificates of this certificate. This includes sub-sub-certificates, sub-sub-sub- and so on. (as long as no certificates are extra blocked or expired).
Your Questions
Assuming we have a typical Java server application which uses mTLS to secure connections, which of the above Leaf Certificates would be allowed to connect?
All listed, because you trust the "Root CA".
Would Leaf Certificate 2 be able to connect, even though the Sub CA 2 certificate is not in the trust store, but the Root CA is?
Yes.
Why would I then even include the Sub CA 1 certificate in this trust store?
You don't have to. However, it makes sense to only include the necessary certificates. If you only need the ‘ACME Leaf Certificate 1’, then only include this and on other. This reduces the possibility of instances connecting that you don't trust - and remember that the ‘ACME Inc. Root CA’ could issue new certificates for other instances at any time.
If I include Leaf Certificate 1 directly in the said truststore, does this mean that ONLY Leaf Certificate 1 is able to connect?
No. As long as to have e.g. also "Root CA" in truststore, you trust all sub certificates.
If I'd include Leaf Certificate 1 directly in the said truststore, would it then be accepted even if it's expired?
No. Expired certificates are no longer trusted.