Use the chat provider to apply transport-specific metadata cleanup.
Keep finish_reason removal in the common message conversion path.
Verify streaming and non-streaming HTTP payloads through LiteLLM,
metadata preservation for other providers, and source message immutability.