If your protocol were secure with independent uniform random choices for the $v_i$, then it can't be much less secure with $v_i = \mathit{PRF}(\mathit{mk}, i)$ for uniform random $\mathit{mk}$, as long as you never use $\mathit{PRF}(\mathit{mk}, i)$ for any other purpose—the only additional advantage an adversary can get in breaking the system with the PRF is the best possible advantage at distinguishing the PRF, which, for a good PRF, is negligible. This is the essential point of a PRF!
The term ‘KDF’ sometimes covers two steps, as in HKDF-Extract and HKDF-Expand:
- extracting a short uniform string from a high-entropy but possibly nonuniform string (like a DH shared secret), sometimes with a salt to mitigate multi-target attacks, and
- expanding a short uniform string by a PRF into many effectively independent keys with structured inputs (what you called $i$) to avoid collisions.
If you already have a short uniform string, you can safely skip the extraction step, and what you are left with is just a PRF! It doesn't hurt to do another extraction step afterward—hash the PRF output again as you described—but there's no need.