Per a thread (with sources) on r/CFB:
I've read a lot of discussion around whether Urban actually could fire Zach Smith, without probable cause. The thought being that without an arrest, it would not be possible to remove Smith from Ohio State without facing a wrongful termination lawsuit.
It turns out to be a moot discussion, because OSU renewed his contract at least twice since the 2015 incident.
So OSU's hands were not tied in any way in keeping Smith. If they wanted him gone, they would have simply let his contract expire. They wanted him back.