Если в myCircle будут другие поля кроме domElement, никак не сделать. Если же ничего кроме domElement нету, проще возвращать сразу его как выше ответил MaxKorz.
Из известных мне способов перехватывать обращения к объекту:
- valueOf объекта может возвращать только примитивные типы, к которым domElement не относится.
- Proxy перехватывает только обращения к полям объекта, не к самому объекту
Можно пойти другим путем и добавить в Circle функцию appendTo, который будет прикреплять себя к svg и возвращать новый svg. Тогда ваш код будет иметь вид:
svg = myCircle.appendTo(svg);