Calculated Slant Range VS Processed Slant Range (Level-0 VS Level-1)

I am writing my own Sentinel-1 image formation tool. I’m trying to understand how certain values are calculated for the processing and formation of Level-1 products.

Simple story: Sentinel-1 transmits a pulse. Time passes. Sentinel-1 records energy that is stored as a record in the Level-0 data with a bunch of information (most important are the raw complex samples in range, the azimuth antenna angle, and the timing).

I have assumed that the time between the start of the transmit and the start of recording/sampling is defined by:
slantRangeRoundTripTime = rank*pri + swst + delta_t_suppr (from Sentinel-1-SAR-Space-Packet-Protocol-Data-Unit.pdf, where rank is the number of PRI intervals that have passed since the return pulse to receive was sent, pri is the pulse repetition interval, swst is the sample window start time, and delta_t_suppr is a small time period of truly raw collected samples that are not recorded due to incomplete filtering).

The Level-0 file stores the rank, pri, and swst with every sampling record, but does not record any specific round trip time.

In the Level-1 processed annotation XML files, one can find rank, pri, swst, (all 3 in downlinkInformation->downlinkValues) and slantRangeTime (imageInformation). The rank, pri, and swst values are the same in the Level-1 product as they are in the Level-0 product.

When I examine several formed/Level-1 images I find:

IW1: (pri=5.82367437e-04)(rank=9.00000000e+00) + (swst=9.84155411e-05) + (dtsuppr=1.06567993e-06) = (calc=5.34078816e-03) ?=? (xml=5.33022173e-03)
IW2: (pri=6.88882146e-04)
(rank=8.00000000e+00) + (swst=1.38192044e-04) + (dtsuppr=1.06567993e-06) = (calc=5.65031489e-03) ?=? (xml=5.64025244e-03)
IW3: (pri=5.93184089e-04)(rank=1.00000000e+01) + (swst=8.78653099e-05) + (dtsuppr=1.06567993e-06) = (calc=6.02077188e-03) ?=? (xml=6.01131331e-03)
IW1: (pri=5.82367437e-04)
(rank=9.00000000e+00) + (swst=9.84155411e-05) + (dtsuppr=1.06567993e-06) = (calc=5.34078816e-03) ?=? (xml=5.33983877e-03)
IW2: (pri=6.88882146e-04)(rank=8.00000000e+00) + (swst=1.38192044e-04) + (dtsuppr=1.06567993e-06) = (calc=5.65031489e-03) ?=? (xml=5.64938771e-03)
IW3: (pri=5.93184089e-04)
(rank=1.00000000e+01) + (swst=8.78653099e-05) + (dtsuppr=1.06567993e-06) = (calc=6.02077188e-03) ?=? (xml=6.01987356e-03)
IW1: (pri=5.82367437e-04)(rank=9.00000000e+00) + (swst=1.17278076e-04) + (dtsuppr=1.06567993e-06) = (calc=5.35965069e-03) ?=? (xml=5.33181953e-03)
IW2: (pri=6.88882146e-04)
(rank=8.00000000e+00) + (swst=1.55376133e-04) + (dtsuppr=1.06567993e-06) = (calc=5.66749898e-03) ?=? (xml=5.64191241e-03)
IW3: (pri=5.93184089e-04)*(rank=1.00000000e+01) + (swst=1.03051249e-04) + (dtsuppr=1.06567993e-06) = (calc=6.03595781e-03) ?=? (xml=6.01300436e-03)

For three different images and for each subswath (IW number) processed, the equation does not match the recorded/processed slant range - worse to me is that the calculated number is always bigger. I could understand if the calculated number were smaller - the processed slant range time would suggest that the processing starts after the receipt of the first sample. With the calculated number being bigger, however, it suggests that the image formation is working on data for which there is not full sampling support yet.

Can someone explain why the processed slant range time is smaller than the calculated first-recorded-sample round trip time? Can someone explain how the image formation/processed slant range time is selected?