I think しか is complicating the situation.
本格化するまで使える sounds natural but 本格化するまでしか使えない is a bit awkward. In the former, 本格化する unambiguously marks the end of the period during which the vaccination site can be used. The latter also expects the part before まで to mark the end of the same period but, for some reason, the verb 本格化する doesn’t seem to meet this requirement as much as it does in 本格化するまで使える. This may be because 本格化するまでしか使えない, with a negative predicate, shifts focus to the subsequent period during which the site cannot be used and 本格化する seems to mark the start of it, rather than the end of the earlier period during which the site can be used. To come to think of it, even in 本格化するまで使える the bound seems to be exclusive. In any case, 前 comes in to solve this problem by placing an explicit end point immediately before the point at which 本格化 begins in 本格化する前までしか使えない.
In contrast, a phrase like 6月までしか使えない, with a noun before まで, sounds very natural. In this case, the bound is inclusive. I could not come up with a single example with a verb that sounded as natural.
本格化する前しか使えない would blur the end of the period.
[EDIT]
The awkwardness of 本格化するまでしか使えない may be simply because しか-[V ない-form]
doesn't take another verb before it (unless the verb after しか is auxiliary する). Although まで nominalizes a verb in a sentence like [本格化するまで]が大変だ, it may not be noun enough in this case. Being a clearer noun, 前 solves this problem, too.