Consider a user who has a Metric-level join type for Revenue set to Outer, as illustrated below:

The Report-level metric join type for Revenue is set to Inner:

The Report-level join type setting for the metric always takes precedence over the Metric-level setting.
This enables users to have a Metric-level join type which can be inherited by any newly created report if the Report-level metric join type is set to "Default." In addition, a user still has the ability to override the Metric-level join type if he/she would like a report to use a different join type, as shown above with the Metric-level join type set to Outer and the Report-level join type set to Inner.
This gives users the flexibility to define a metric join type at the Metric-level which can be used repeatedly and inherited, but then also allows users to set on a report-by-report basis a different metric join type if their report requires it by changing the Report-level join type setting.