Counterweights don’t need to take a straight path to the ground. The force a weight pulls on a surface is based on the tangent.
Springs make a lot of sense from an installation perspective and can be easily tuned to match the specific door design, but if I was working from scratch on a DIY project I would prefer to use a counterweight if there was somewhere it fit.