As Johan explained, when you feed in model instance as data, this merging does not happen. Try:
let store = new Store({
data: [rawOrder],
fields: [{ name: "BuyerName", type: "string", dataSource: "Buyer.Name" }],
modelClass: Order
});
let order = store.first;
person.Order = order;
person2.Order = order;
order.Buyer = person;
console.log("rawPerson", rawPerson);
console.log("rawOrder", rawOrder);
console.log("person", person);
console.log("order", order);