Jitter is a form of latency and can be introduced anywhere in the path. It may not be the ISP but could be on your end or from one of the carriers in between you and VOIP.ms. If you have other devices in the home that make use of the Internet, then consider for a moment that you have the connection with the ISP. This connection is likely the slowest link between you and the intended destination as I assume the internal home network is faster than what your ISP is providing. In the meantime, all the devices on your network are considered peer unless you have some form of QoS or other classification scheme. Depending on the codec in use, the voice stream will use less than 100kbs, which in the scheme of things is quite small. If using g729, much less than 100kbs. However, unless there is some form of prioritization or bandwidth reservation, then all packets from all devices are treated the same. The voice stream can be impacted by the other devices that need more bandwidth which results in the router trying to push X amount of data into the ISP when the subscription only supports Y. As a result, the router may not be able to deliver the data smoothly. You may need to examine your usage and see if QoS would help so that the voice packets are prioritized.
The Internet is a dynamic thing which when using voice it is real time which is not the same as HTTP, or most other requests to include streaming where most of these have some form of error correction or buffering. In voice you have an equal amount of data flowing in both directions and any packet that is dropped or arrives out of sequence or with timing variations between packets may cause the users to experience some issues.
Perhaps the above may not be the case in your situation, but I am only pointing out the possibilities for consideration of any action that you can take to better bullet-proof the function. I have VoIP at the house using an ATA and have had little issue over the years, Of course, the ISP has had some plant issues, but these have been fixed in relatively short order and I have it set such that if the provider does not see a registration come in from the ATA, they will wait for one more expiry period and if still not seen will automatically invoke directing the calls to my cell phone, When they see a register, they will then re-direct back to the ATA. It takes a total of 4 minutes as the expiry is 2 minutes.
The splitter/duplex has nothing to do with the jitter issue, but rather the ease of distribution of the analog phone signal to a couple of devices without the need to have two registrations for a single DID. If the provider does indeed allow multiple registrations for a single DID, then the only difference between FXS1 and FX2 would be the local SIP port. These need to be different to help the router maintain a proper NAT/PAT so that the messaging from the provider does not get mixed up, To the provider, you are contacting them as single IP (your public), but the only things that lets them know what message goes to which port on your device is the local SIP port. As the two ports are indeed different in the respect that you have one phone connected to one port and the other phone to the other port, they need to know to which port/phone to respond. Hopefully, you have the router set to forward correctly and that the SIP ALG is off in both the router and the ISP modem.