The provider skipped recomputing attention for a prefix of your prompt. Those tokens were already turned into KV tensors. You still get a fresh answer.
Only when the new request starts with the same tokens as a recently cached prefix, long enough, still inside the TTL, on the same model path.
Put everything stable first. Keep that prefix byte-identical. Leave the changing user turn at the end. Stay inside the cache lifetime.