In that situation, it's impossible to tell who comes earlier. Being "on time" and "in time" for a 9am class is the same thing. It simply means you're not late.
Ben arrives exactly on time for the class. (He arrives at 9am.)
Joe is always in time for the class. (He arrives at some time before 9.01am.)