Creo que la ordenación va primero por la columna izquierda, luego por la derecha, ordenando valores iguales de la primera columna.
const list = [{ first: 500, second: 1 }, { first: 500, second: 4 }, { first: 300, second: 2 }]; list.sort((a, b) => b.first - a.first); // A <- Z list.sort((a, b) => a.first === b.first ? a.second - b.second : 1); // A -> Z