What's you BigQuery write configuration? I'm interested in the write method you're using. If you're explicitly setting one of the Storage Write API methods, the sink will output failed records to a DLQ (see reference) but will not fail the write step.
Otherwise, it should be using FILE_LOADS which fails the whole write step if a single record fails