Me suena mejor «hay un cupo de x vacantes» que «hay x cupos». ¿Se recomienda la primera opción? ¿La segunda opción es incorrecta?
El término cupo se refiere a una parte proporcional o un porcentaje. Por tanto, en los ejemplos planteados, si se trata de las vacantes establecidas para un colectivo concreto (profesores de español, por ejemplo) la primera opción, con cupo en singular, es la correcta. En caso contrario sería mejor decir simplemente que hay tantas vacantes disponibles.