#33688 [Bug]: prompt_tokens/completion_tokens missing from logged usage on non-streaming /v1/responses calls
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
For non-streaming `/v1/responses` calls, the usage object recorded by the logging layer is missing `prompt_tokens` and `completion_tokens`. Only `total_tokens` shows up in the serialized/logged payload, which breaks anything downstream that reads per-call prompt/completion token counts from logging callbacks (custom loggers, Prometheus, etc).
Expected: `prompt_tokens` and `completion_tokens` should be present in the logged usage payload, same as they are for chat completions.
Root cause: `Logging._transform_usage_objects` sets `result.usage` to a raw `Usage` Pydantic object instead of a dict. Since `ResponsesAPIResponse.usage` is typed as `ResponseAPIUsage`, which has no `prompt_tokens`/`completion_tokens` fields, calling `model_dump()` on the response silently drops both fields during serialization.
### Steps to Reproduce
1. Configure any custom logging callback (or inspect the standard logging payload) for a non-streaming `/v1/responses` call 2. Make a non-streaming `/v1/responses` request 3. Inspect the logged usage object - `prompt_tok…