I ran into a problem with objects created like in the Reflection Live Demo.
The Person object created by invoking the first constructor is not of type Person (at least not really). If you run the Chrome debugger without source maps, you can see that instance is a "object" and not the well defined "Person" as it would be if you create it with new Person(...). (see the differences in the attached images)
It's not a bug, both instances are Person actually.
You can easily check it with is operator like "is Person" or even GetType() == typeof(Person) in both cases these are true.
The reason you don't see Person in the second case is related to "dynamic" new operator using
var instance = Object.create(this.jsConstructor.prototype);
For more info you can read this: