Почему в контекст не передается объект?
Потому что читаем документацию по call и что передаётся в качестве первого аргумента.
https://developer.mozilla.org/ru/docs/Web/JavaScri...
Контекст передается. Только вам нужен аргумент.

Вот код, который, надеюсь, поможет понять разницу

function person(name) {
  console.log("context", this.name);
  console.log("argument", name);
}

var context = {
  name = "Коля"
}
var name: "Анатолий";

person.call(context, name);