What are you really trying to do?
Headers, just like any other payload, should always run through external storage.
Describe the bug
See https://github.com/temporalio/sdk-python/blob/main/temporalio/client.py#L9186. The call to _transform_outbound_payload (which encodes, stores externally, and validates size) is conditioned on whether headers should be encoded or not. The encode_headers parameter should only affect the code encoding phase, not the other phases of transforming payloads.