My understanding is that Scout7 incorporates a pre-populated database, which the supplier would therefore be the data controller of. But there is the facility to put in your own data, which City would be the controller of, as you rightly say. It's then up to City, as controller, to ensure the 3rd party is compliant.
But the question is, what's "compliant"? I'm sure that only allowing access to authorised users, which is what effectively happened, wouldn't fall foul of GDPR I suspect. Had City failed to remove the access credentials of departing staff then they would certainly be at fault. But you have to understand that this was a deliberate and probably pre-meditated action as aprt of a wider intrusion, not some opportunistic, one-off incident. This was the tip of the iceberg, which is what I've been alluding to all along. I simply don't believe it stopped with the settlement, just carried on but slightly differently.