It's more complex than fixed price.
The VRF coordinator verifies the proof on-chain then calls back the consuming contract fulfillRandomWords function. After the request is complete, the final gas cost is recorded based on how much gas is required for the verification and callback. The total gas cost in wei for your request uses the following formula:
(Gas price * (Verification gas + Callback gas)) = total gas cost
The total gas cost is converted to LINK using the ETH/LINK data feed. In the unlikely event that the data feed is unavailable, the VRF coordinator uses the fallbackWeiPerUnitLink value for the conversion instead. The fallbackWeiPerUnitLink value is defined in the coordinator contract for your selected network.
The LINK premium is added to the total gas cost. The premium is defined in the coordinator contract with the fulfillmentFlatFeeLinkPPMTier1 parameter in millionths of LINK.
(total gas cost + LINK premium) = total request cost
The total request cost is charged to your subscription balance.
So besides fixed premium of 0.25 LINK per request it can cost even 20 LINK if floor gas price is 100+ gwei.