It seems when we're inserting new TOTP rows we're adding empty scratch_tokens arrays in oad_data... Fallout from T232336: Separate recovery codes into a separate 2FA module.
We should probably stop doing this ASAP, as we'll just need to remove them again (probably part of T405235: Create MediaWiki maintenance script to migrate older TOTP devices to modern TOTP + Recovery Codes configuration, rather than doing another script ontop).