Javascript прекратит оценку условного выражения, если будет точно известно, что это значение.
Значения ложных значений в JavaScript равны 0, 0n, null, undefined, false, NaN и пустой string ""
Так как "yes" не является ни одним из них, оно всегда будет иметь значение true.
В вашем первом примере:
"yes" || true === true
Является ли вычисление условного выражения и истинно, в результате чего троичная операция принимает истинный путь и оценивается как «нет».
Во втором примере
true === true
Условно, но также верно, что приводит к троичная операция снова принимает истинный путь и оценивается как «нет»
Однако, когда OR с «да» сначала, javascript прекращает оценку и просто возвращает «да»