I assume the team uses the same calculation as they do in the ttntool, this include all bits transmitted, see below extract ...
preamble := float64(8 + 4.25)
payload := math.Max(math.Ceil(float64(8*phyPayloadSize-4*int(spreadingFactor)+24)/float64(4*int(spreadingFactor)-2*dataRateOptimization))*5, 0)
crc := float64(8)
return (preamble + payload + crc) * tSymb, nil