Не так. Object.create(); создает новый объект и первым аргументом туда передается некий другой объект, который станет прототипом для этого объекта.
По этому создание нового объекта location через Object.create(Location) - совершенно нормально. Оригинальный объект при этом никак не меняется. Он только становится прототипом для нового объекта.
Пара примеров:
var a = Object.create(null); // создаст голый объект который не унаследует ничего
var b = Object.create(Object.prototype); // эквивалент var b = {};
var foo = {
name: 'Yes'
};
var bar = Object.create(foo);
console.log(bar.name); // 'Yes' - возьмет из прототипа (foo)
// переопределим name
bar.name = 'No';
console.log(bar.name); // 'No'
console.log(foo.name); // 'Yes' - оригинал остался нетронутым