Спасибо, я посмотрю. Вдруг я чего-то упускаю. Но вроде всё правильно. Ваш вопрос фактически состоит из двух - 1) почему получается у Виттена, и 2) почему не получается у меня.
У Виттена получается потому что он не делает ничего запрещённого. Да, он использует одно из уравнений движения в качестве связи, чтобы исключить переменную (выразить её через другую). Да, так можно делать.
У вас не получается потому что вы неправомерно считаете

постоянным при варьировании. Его нельзя считать постоянным! Только координаты варьируются независимо, а

- это не координата.
Можно ещё сказать, что у Виттена УД - "хорошее" (его можно использовать в качестве связи), а у вас - "плохое" (его использовать нельзя из-за

).