Except I just plugged a SFC capable device into a SFC capable charger and got nearly 29 W

. There's no cap. The charger driver in the phone and charger negotiate the maximum current and use it. I know why the Youtube videos get the results they do, but it mostly isn't because of why they think.
The great thing with Samsung phones is the kernel source code is available, so you can just read the configured values right out the kernel. No guess work or questionable test results involved.
Why does an S23 Ultra charger faster than an S22 Ultra in 45 W mode? It's input current limit is higher:
S22U:
Code:
pca9468,input-current-limit = <2550000>; /* 2.55A */
pca9468,charging-current = <6000000>; /* 6A */
pca9468,input-itopoff = <500000>; /* 500mA */
pca9468,sense-resistance = <0>; /* 5mOhm */
pca9468,switching-frequency = <3>; /* 980KHz */
pca9468,ntc-threshold = <0>; /* disable */
pca9468,ta-mode = <1>; /* 2:1 charging mode */
S23U:
Code:
pca9481,input-current-limit = <3000000>; /* 3.0A */
pca9481,charging-current = <6000000>; /* 6.0A */
pca9481,input-itopoff = <500000>; /* 500mA */
pca9481,sense-resistance = <2>; /* 5mOhm */
pca9481,sense-config = <0>; /* Bottom side */
pca9481,switching-frequency = <1000>; /* 1000kHz */
pca9481,ntc0-threshold = <1110000>; /* 1.11V */
pca9481,ntc1-threshold = <495000>; /* 0.495V */
pca9481,ntc-en = <0>; /* Disable NTC protection function */
pca9481,chg-mode = <1>; /* 2:1 direct charging mode */
Both phones operate in a switched capacitor 2:1 direct charging mode, which means input current is doubled and the input voltage halved. Input current on the S22 U is 2.55 A, so maximum battery charging current is 5.1 A (limit is set to 6 A, but can never be reached). The S23U does achieve a 3 A input, so can achieve the full 6 A at the battery. It's charging 17.6% faster. But this begs the question, how fast is the S23U actually charging? Well, you can find out it's maximum battery voltage too, right here:
Code:
battery,chg_float_voltage = <0x1130>;
Thats 4.40 V. So the maximum charging power that can ever be applied is 4.40 V * 6 A = 26.4 W.
The reason why input power to the phone can reach ~40 W is because the phone will charge the battery at maximum power, then use excess power from the charger to run the phone. During boot-up, restart and charger connection, this causes lots of background tasks and app updates to fire which causes several minutes of high power draw. After that, input power is mostly just battery input power which is why it drops to close to 30 W. This is why the 25 W chargers aren't much slower, they lose out during that first few minutes where the phone is busy, but after that they can charge the battery just about as fast as any 45 W charger can.
It's a interesting question to pose wether ~26 W at the battery is really 45 W charging at all, or if because the phone could draw ~40 W at any moment then it really is 45 W. That explains why you see the behaviour you do anyway
As one last aside to the SFC 1.0 vs 2.0. Did you know that if you use a 3 A cable with a 45 W charger (which should trigger SFC 1.0), the phone has a catch case to tell you it's SFC 2.0 anyway?
Code:
if ((pdo_type == APDO_TYPE) &&
(sec_pd_get_apdo_prog_volt(pdo_type, max_volt) > battery->pdata->apdo_max_volt))
temp_power = battery->pdata->apdo_max_volt * max_curr; /* Protect to show sfc2.0 with 45w ta + 3a cable */