Déjà 1ère solution lui mettre un collier bien ajusté pour éviter qu'il enlève son harnais et se sauve. Surtout en ville ! C'est dangereux comme vous l'avez dit.
Ensuite il faut travailler votre chien petit à petit face aux chats. Mais tant qu'il arrivera à enlever son harnais pour aller courser les chats je ne vois pas comment faire.
Vous pouvez commencer par des exercices d'autocontrole, vous trouverez des exemples sur google, a adapter selon votre chien. Par exemple avec les exercices décrit sur google ça ne sert à rien pour mon chien, trop facile pour lui. Mais c'est une base et petit à petit "j'invente" j'adapte des exercices plus durs, plus il a du mal à le faire mieux c'est.
Dernier point, êtes vous sûr qu'il course les chats quand il part loin ? Ça me semble un peu incohérent.
Enfin chez moi si mon chien part derrière un chat (c'est arrivé quelques fois) je m'inquiète pas je sais qu'il va rester derrière le chat et donc il n'ira pas loin. Parce que le chat poursuivi rentre au plus vite "chez lui" il part pas n'importe où, enfin j'ai encore jamais vu un chat partir en courant n'importe où. C'est ce que je trouve étrange dans votre message. J'aurais plutôt tendance à penser qu'il y a d'abord la poursuite du chat, ça dure quelques secondes, et ensuite le chien en profite pour aller vadrouiller tout seul. Après c'est mon avis, mais j'ai jamais vu un chat courir n'importe où.
Pour éviter que le chien aille ensuite explorer la ville vous pouvez lui apprendre le rappel au sifflet. Il ne stoppera pas sa course, mais il reviendra vite.
Je l'ai appris à mon chien, c'est très facile. J'ai commencé à la maison en sifflant comme ça sans raison et à chaque coup de sifflet 1 tranche de bacon (ou autre mais une friandise +++++). Ensuite à l'extérieur je sifflait à des moments où le chien n'était pas distrait et hop bacon dès qu'il revenait. Ça c'est juste pour lui faire comprendre que c'est vraiment cool de revenir au sifflet. Une fois qu'il aura compris vous pourrez utiliser le sifflet contre les chats. Et s'il ne se stoppe pas en pleine course, au moins il reviendra vite.