Having the actual full chain delivered with each of your new certificates will make most sense and you should pursue this.
However, the leaf certificate you do get contains a structure called Authority Information Access which you could use to find a certificate for the CA which signed it, in the current case that's R3 but of course it would be different in any future certificate you got signed by a different intermediate.
Decoding your X.509 certificate, pulling the AIA out of it, then fetching the URL shown, and converting the results (which will be binary Distinguished Encoding of the certificate not the PEM files you're likely used to) is a bunch of work, but it is certainly possible, if the sensible "Just get the fullchain file" option doesn't work out.
To return to an earlier topic. Web browsers all have relatively sophisticated but varying ways to try to figure out any reason they could trust your certificate. For example, Microsoft's Internet Explorer automatically does those steps I talked about for AIA above, internally to figure out if your certificate was signed by somebody who in turn was signed by somebody it trusts. This is bad for user privacy but it's fairly effective. On the other hand Mozilla's Firefox carries a complete list (painstakingly assembled) of intermediate CAs known at time of shipping, which makes the browser software bigger and is extra effort for Mozilla's team. You should not rely on this, most other software is much less sophisticated and is expecting your server to do more by e.g. sending over some intermediate CA certificates.
As an earlier poster suggested, the 'ca' option passed to your Express setup is incorrect. This option controls which CAs you want Express to trust, and the defaults are going to be fine for you. In fact chances are you don't care what Express trusts, as this only makes sense for Mutual authenticated TLS where both servers and clients have certificates to identify them. You ought to be passing your entire chain to the 'cert' option as one string. If you have two strings (representing the leaf certificate and then one or more intermediates) you should be able to concatenate them to produce a valid chain.