Welpen lernen zunächst umgebungs- und situationsbedingt. Generalisieren können sie erst später bzw. Du musst die Übungen so weiter führen, dass sie das Generalisieren lernen.
Ich denke nicht, dass da ein Lernfehler vorliegt, sondern ein Gedankenfehler bei Dir. Hund kann Nein beim Futter, also KANN er Nein auch an anderen Dingen. DA liegt der Fehler. Er kann es NICHT.
Üb das Nein mit verschiedenen Dingen und benutz es im Alltag in Situationen, wo Du Dir nicht sicher bist, ob es schon klappt, noch nicht.
Ich habe bei meinem Hund auch mit Nein am Futter angefangen, dann Nein am Spielzeug, am rollenden Lecker, am rollenden Ball, an verschiedenen Futterarten (von leicht bis schwer).
Dann draußen auf Spaziergängen an Pferdeäpfeln z.B. Dann auch an allem, was einem draußen begegnet.
Du kannst Dir im Garten auch ein paar Dinge auslegen und den Hund bewusst in die Situation rein führen (vielleicht an der Leine gesichert am Anfang) und da weiter üben. Nimmt er das Nein an und hemmt sich selbst, bekommt er bei Dir was richtig Tolles. Das kann Spiel, Streicheln oder Futter sein - je nachdem, was Deinem Hund am besten gefällt.
Auch an Katzenkot kannst Du im Garten üben, aber nur, wenn Du weißt, wo welcher liegt, Deinen Hund sicherst und kontrolliert an die Situation heran führst.
Wichtig ist immer, dass nach dem ausgeführten Nein anfänglich eine tolle Belohnung kommt, damit es sich für den Hund auch lohnt.
Ablenken halte ich nicht für den besten Weg, da der Hund dabei nichts lernt. Er soll ja lernen, sich bewusst zu hemmen, um bei Dir dann eine Belohnung zu kassieren.
Ein Abbruchsignal wie Nein bringt man nicht in ein paar Tagen zuverlässig bei, da muss man schon etwas länger dran bleiben, sich das Wort nicht wieder versauen, wenn man es zu oft sagt und die Ablenkung und Schwierigkeit nach und nach steigern.
Wenn man das macht, kann man das Abbruchsignal später auch gut anwenden.
Und man sollte immer schauen, dass man den Gedanken des Hundes abbricht, also nicht erst, wenn er den Katzenkot schon im Maul hat.