Why isn't the IDL as follows:
void scrollIntoView(optional (boolean or ScrollToOptions) arg = false);
Overloading is better to avoid when possible.
And the dictionary having different defaults than false also seems wrong. Passing {} shouldn't have different results from passing undefined or passing nothing at all.
(Via https://bugzilla.mozilla.org/show_bug.cgi?id=1389274.)