"Batteries were 70%"... says what? What is actual battery voltage, that is what determines the XS output. My victron charger has 5 voltages it goes to and looks at and tapers off amps depending on actual battery voltage and whether it thinks it is in bulk, float, maintenance, etc.
Just assuming 70% and thus that you should be in full bulk charge is a terrible assumption and thought process... the only thing that matters to your XS is the voltage it is seeing and the 15 settings you have in there.
For instance... here are my IP67 settings for non-victron Lifepo4 batteries, recommended peripherally by Victron and Current Connect in some arcane hard to find white paper. The default settings for LFP that Victron uses are different, and Victron specifically says they are not sufficient for non-victron batteries.
Charge Voltage Settings:
Absorption Voltage: 14.6v
Float Voltage: 13.8v
Storage Voltage: 13.6v
Recondition Voltage: Disabled
BatterySafe: Disabled
Voltage Compensation:
Temperature Compensation: Disabled
Bulk:
Bulk Time Limit: 24 Hours
Re-bulk Current: Enabled, set to full output current of charger, typically 25A
Absorption:
Absorption Duration: Fixed
Absorption Time: 1 Hr
Repeated Absorption: Every 7 days
Recondition:
Recondition Stop Mode: Fixed time
Recondition Duration: 15M (This is the minimum allowed setting. It is already disabled in charge voltage settings, but set to this as a safety precaution)
=========
I can see 8 settings right there that would stop you from getting full 20A. All the voltages, recondition enabled, voltage compensation enabled, bulk time limit exceeded, rebulk current set to less than 20A, Absorption duration time exceeded, repeat Absorption not triggered between 7 days, recondition mode enabled and set longer than 15 min and charge profile voltage changes enough to trigger it...
Unless you post all this, it is a complete crapshoot what's happening.