Анимация вдоль кривой работает примерно так:
- берутся координаты точки на кривой (px=242, py=51)
- берутся координаты центра окружности (сx=242, сy=51)
- значения складываются (x = cx + px, y = cy + py) и окружность перемещается в полученные координаты.
Исправить можно перемещением начальной точки кривой в точку (0, 0) и последующим сдвигом этой кривой при помощи
transform=translate()
<path d="m 0 0 c-118.35-13.036-33.219 195.03-196.4 83.472" fill="none" stroke="#000" stroke-width=".2" id="path" transform="translate(241.82 50.942)"/>
<circle cx="241.82" cy="50.942" r="7.3" fill="#fff" stroke="#006700" id="circle" />