А где вы видите в этой статье, что в Object.defineProperty можно указывать именованные get/set ?? У вас эти ф-ии просто не вызываются, а идёт обычное присвоение/получение свойства Msg у объекта - отсюда и результат.
Вам надо так:
let obj = {
prop: "no msg",
set Msg(msg){
this.prop = msg;
},
get Msg(){
return this.prop;
}
};
console.log( obj );
console.log( obj.Msg );
obj.Msg = "myMsgText";
console.log( obj.Msg );