#35355 bug(proxy): user_api_key_metadata receives team metadata when key has non-empty metadata
## Description
When a proxy API key has non-empty metadata and belongs to a team that also has metadata, `user_api_key_metadata` in the request metadata dict receives the team metadata merged in, instead of the key's own metadata.
Callers that read `user_api_key_metadata` (e.g., custom callbacks doing cost attribution) get the wrong data.
## Root cause
In `litellm_pre_call_utils.py`, `get_sanitized_user_information_from_key` sets:
```python user_api_key_auth_metadata=user_api_key_dict.metadata, ```
This stores a reference to the same dict object, not a copy. Later, `add_management_endpoint_metadata_to_request_metadata` calls:
```python data[_metadata_variable_name]["user_api_key_auth_metadata"].update(added_metadata) ```
Because `user_api_key_auth_metadata` and `user_api_key_dict.metadata` are the same object, this `.update()` mutates `user_api_key_dict.metadata` in place with team metadata fields. When the code later sets `user_api_key_metadata = user_api_key_dict.metadata`, it reads back the now-contaminated dict.
## Why the None case works
When `user_api_key_dict.metadata is None`, `add_management_endpoint_metadata_to_request_metadata` creates a fresh `{}` before calli…