#26806 [Bug]: PR #25888 fallback path reads input/output cost from db model_info but skips cache_read_input_token_cost / cache_creation_input_token_cost
### Check for existing issues
Related: #25839, #25950, #24774, #25204, #11364
### What happened?
PR #25888 (merged 2026-04-25) fixed the fallback path in `Router.get_model_group_info()` so that when a model is not in LiteLLM's built-in `model_prices_and_context_window.json`, the fallback `ModelMapInfo` reads `input_cost_per_token` / `output_cost_per_token` from the user's `db_model_info`.
The same fallback **does not pass through cache pricing fields**. As a result, on any model that isn't present in the built-in cost map, LiteLLM applies the user-configured input/output prices but silently drops `cache_read_input_token_cost`, `cache_creation_input_token_cost`, and the tier variants — even when those fields are set on `model_info` and `supports_prompt_caching: true` is set.
The downstream effect is the one reported in #25839, #25950, #24774, #11364: cached tokens are billed at $0 instead of the configured cache_read rate, on any custom-hosted or self-hosted model that isn't in the upstream pricing JSON.
### Where in the code
`litellm/router.py` ~line 8088 (the block #25888 modified):
```python db_model_info = model.get("model_info", {}) mode = db_model_info.get("mode", "cha…