I think ngFor don't like tracking array elements which are primitive values having ngModel on them.
If you remove the ngModel inside the loop, it works.
It works too when I update jsfiddle with :
this.names = [{name: 'John'}, {name: 'Joe'}, {name: 'Jeff'}, {name: 'Jorge'}];
and
{{n.name}}