Also, while parameter defaults (and parameter destructuring) started out as distinct feature proposals, as things progressed it became clear that they were really the another use case of destructuring. Parameter processing and array destructuring share a common specification.
(2/2) So we had a choice: absent actual (the arguments.length test), undefined, or {undefined,null}. (Holes would evaluate as undefined so orthogonal here.) We went with undefined out of parsimony & TC39 aversion to that nullish equivalence class, which is *back*, via ?. and ??.