To pass the whole chain, you have to pass the whole chain to CertificateRequestHandler.CreateRequestHandler. To get the whole chain, you might try building it using CertificateChain.BuildFrom. That would normally be the preferred option (it would add the CA certificates if they are found in current user's certificate stores), but I'm not quite sure whether it would work for Ed25519 certificates, which are not supported by Windows API's yet.
So if that doesn't work (= it returns a chain with only a single certificate), you can construct the chain manually from the client certificate and the authorities
// load the certificate
var cert = Certificate.LoadDerWithKey(certPath, keyPath, password);
// create the chain
var chain = new CertificateChain(cert);
// add intermediate CA certificates to the chain (in proper order)
var caCert1 = Certificate.LoadDer(caCert1Path);
chain.Add(caCert1);
var caCert2 = Certificate.LoadDer(caCert2Path);
chain.Add(caCert2);
...
// create CertificateRequestHandler based on the chain
client.Settings.SslClientCertificateRequestHandler = CertificateRequestHandler.CreateRequestHandler(chain);