#32221 [Bug]: Proxy returns HTTP 200 with body "null" when upstream 422s twice with drop_params=True (implicit return None in openai handler retry loop)
### What happened?
When an OpenAI-compatible upstream returns HTTP 422 twice in a row and `drop_params` is enabled, the LiteLLM proxy returns **HTTP 200 with a 4-byte body `null`** to the client instead of an error. Downstream OpenAI SDK clients then crash on `response=None`. Additionally, because no exception is raised on this path, **no SpendLogs row is written (neither success nor failure), failure callbacks do not fire, and router fallbacks are never triggered**.
Observed in production on **v1.90.0**; the same code paths are still present on current `main`.
### Root cause chain
1. An openai-compatible upstream (observed with MiniMax, `api.minimaxi.com`) returns HTTP 422 for some requests (content-moderation style rejections). The 422 body contains only a message, **no structured `detail` list of offending params**. 2. `litellm/llms/openai/openai.py` handles 422s inside `for _ in range(2):` retry loops (on current `main`: sync `completion` at L651, `acompletion` at L860, `async_streaming` at L1040; in the v1.90.0 wheel: ~L679 / ~L900 / ~L1088). With `drop_params` enabled, the `except openai.UnprocessableEntityError` branch calls `drop_params_from_unprocessable_entity_error()…