как свойство sold попадает в аргументы colA и colB функции
По ссылке. У Вас массив объектов. Объекты передаются по ссылке.
Тык. То есть на каждом вызове функции colA и colB это будут объекты из массива, на котором вызван sort.
Насколько я знаю, передать аргументы в функцию можно только с помощью вызова функции, а у меня тут просто передача
Вы вызываете нативный метод sort, у которого первым аргументом может быть функция, которая может влиять на то, как будут отсортированы элементы массива. Функция sort под капотом вызывает эту функцию(так же по ссылке), которую Вы указали в качестве аргумента метода sort и передаёт в неё аргументы.
Таким образом, метод sort берёт текущий и следующий элемент массива и вызывает указанную функцию, в данном случае,
compareSold
, передавая в неё эти самые элементы.
куда return возвращет colA.sold - colB.sold?
Во внутреннюю реализацию метода sort.
Ссылка по второму и третьему пункту:
https://learn.javascript.ru/native-prototypes
P.s. скорее всего, если не бросите, придёте сюда за вопрос ещё ни раз. В таком случае было бы не лишним почитать
правила сервиса, в частности подготовки к заданию вопроса и его оформлению.