Thanks for the question Jonathon. Your Python records are reaching BQ successfully. However, when a BQ record fails (for whatever reason) and the sink tries converting it back to a Beam Row, you run into the error you mentioned
I did some digging and found that this is a bug in our conversion logic. Adding a fix here that should hopefully make it for the next Beam release: https://github.com/apache/beam/pull/34707