Actually, it was introduced in Windows 8. From
Microsoft Dev Network: A Universal Windows app is a Windows experience that is built upon the Universal Windows Platform (UWP), which was first introduced in Windows 8 as the Windows Runtime. Universal Windows apps are most often distributed via the Windows Store (but can also be side-loaded), and are most often packaged and distributed using the .APPX packaging format.
Ah, okay, I see what you're referring too. You are absolutely correct of course. It's just that the concept of what constitutes a universal app has changed with W10. A W10 universal app is no longer the same thing as it was in W8, and I thought you were using the more modern definition. In the article you linked to that is alluded to by providing a separate description for W10 universal apps.
However, I'm still certain that there was never an x86 based W8 store app, that achieved the ability to run on ARM devices, by becoming a universal app. One might say this is splitting hairs however, because a universal app that can't run on ARM phones is pretty much senseless. But at least technically, the ability to run on ARM devices was not achieved BECAUSE of that transition to a universal app, although it will have been achieved as part of it.
As stated in the article you linked to, being "universal" refers to an app's ability to run on different form factors, which is basically about sharing one API across phones, tablets and desktops. That article doesn't say anything about CPU architectures, because like I said, that is not directly related to the API issue which universal apps solve.
edit:
This may be an easier way to think about it:
As in your example, assume a Windows Store app that was originally targeted at x86 desktops/laptops and tablets. Saying that such an app will become a universal app implies it must gain two abilities it previously lacked:
a) it must achieve the ability to run not just on tablets but also on
phones
b) since all windows
phones use ARM chips, it must achieve ARM compatibility and can no longer be restricted to x86 chips.
Becoming a universal app is what allows the app to achieve (a), whereas (b) is more about compiler technology and only tangentially related to the universal apps platform. In the overwhelming majority of cases (strictly from a 3rd party developer's point of view), solving (b) won't require anything more than changing a compiler setting.
However, the question that was raised in this thread was how apps that run on ARM based phones could possibly run on x86 based phones. These apps don't have to be universal to do that. They could very well target no other form factor except phones. As such, they only need to worry about issue (b) mentioned above, whereas (a) is irrelevant.