This exact scenario is what the PID algorithm is intended to solve. The PID effectively learns how much lag there is in your system and so would cut off the fridge before hitting the bottom of the hysteresis range. A simple on/off control algorithm cannot be configured to turn off early to anticipate the lag. You could try setting a smaller hysteresis as that will lower the total swing but it won't prevent overshoot.
While that answers your direct question, I think it's worth talking about what you could do to minimize that overshoot since that's what it sounds like you ultimately care about. I'm surprised to see your overshoot is so much. Mine 5 gallon batches in a Sanyo dorm-style fridge with a hysteresis set to 1 °F overshoots by about 0.4 °F. I would bet that's because the thermal mass of the batch is much closer to the overall cooling capacity of the Sanyo. With your freezer I bet the system is turning off at the lower hysteresis point but there's still a bunch of cooling capacity left in the coils that ultimately bring the batch down those extra degrees.
Is the freezer relatively empty or is it pretty packed with carboys and other thermal mass? You might want to experiment with adding some additional thermal mass in there.
Is the freezer set to a very low temperature setting? It might be worth experimenting with setting the freezer to it's warmest setting so it's thermostat isn't trying to get to some ridiculously low temp and it cuts out early on it's own.
Very interesting post. I'd love to hear more.
Edit: Attaching a picture of what my fermentation looks like