It turns out that the S3 write component cannot handle “missing” columns. I used the following code to change the values in the files to NaN.
@rtransform!(my_df, :MY_COLUMN = ismissing(:MY_COLUMN) ? NaN : :MY_COLUMN)
I applied the above row transform macro to all columns that only contained missing values.