See under "Return Value" and "Discussion" for an example of this behavior.
Could you be specific about what you see in that documentation? As I read it, it says that the components in the returned format string should be arranged according to the locale. It does not relate that to the various Settings app settings.
It seems to me that:
The Settings app language, region and 24hr vs. am/pm settings are reflected in public properties of NSLocale.
The Settings app date format setting is reflected in a private property of NSLocale, which I can see in the debugger.
Setting NSDateFormatter’s locale, dateStyle and timeStyle and reading dateFormat returns a template based on (1) and (2).
dateFormatFromTemplate returns a template based only on (1). This seems wrong to me.