Как объяснить конструкцию return this?
constructor работает как конструктор только в составе es6 класса.
А у вас тут это просто обычная функция, если вы ничего из нее не возвращаете, то она ничего и не вернет.
Т.е. вы создаете объект, присваиваете ему прототип Person и обращаетесь к свойству constructor этого объекта. 
В объекте такого свойства нет, ищется в цепочке прототипов, находится и вызывается функция на которую указывает One.__proto__.constructor
А правильно будет такclass Person {
  constructor(name,age) {
    this.name=name;
    this.age=age;
  }
};

var One = new Person("Alex", 32);
другой вариант var Person = {
    constructor: function(name,age){
    this.name=name;
    this.age=age;
  }
};

var One = Object.create(new Person.constructor("Alex", 32));
console.log(One.name);
но в этом случае One будет иметь прототипом не Person, а новый объект, созданный через Person.constructor
Ну, в js constructor - это соглашение, в отличие от того же php, где конструктор возвращает созданный объект