Due to T310895, between 2022-06-15 and 2022-06-30, donors who answered "No" to the question, "Can we follow up and let you know if we need your help again?" (for example, in this banner) did not arrive at the gateway form with opt_in=0 on the URL.
This caused the expected opt_in=0 value in the donations queue message to be omitted.
In the resulting contact records in Civi, instead of getting the expected "Opt In: No" and "Do not solicit: No" in the communications section, that section will be empty. In the database, there will be no row added for the contact in the civicrm_value_1_communication_4, table. This apparently isn't what should happen; for contacts selecting specifically not to opt in, it seems a row should be created in that table with 0 in the opt_in column.
We should review which campaigns used banners with opt-in questions over this period, and determine if any batch updates in Civi should be made for donors who donated over the impacted period.