Does a student leaving the school free up their seat?
Yes, once you deactivate them in the panel. As long as their account remains active, it occupies a seat, even if they never log in. Deactivating students who have left is the standard way to make room without upgrading your contract.
What happens to their data
Their progress is not deleted immediately: it is kept for 6 months in case they return the following school year, and after that period, it is permanently deleted. If they return within that time, they get their account and progress back intact.
Recommendation: review your inactive students at the end of each school year, when you know who is staying and who is leaving. This is when the most seats are freed up at once.