constつけると関数別物

const Vec2 &getPos() const;
const Vec2 &getPos();

は、別物として扱われます。

ただし、

const Vec2 &getPos();
Vec2 &getPos();

これらは、同一とみなされ、一緒に書くとコンパイルエラーとなります。
これはコンパイラが、引数では関数を区別するけど、返り値では区別しないためです。