Re: "I did not know that ARM actually prohibited adding instructions"
One last try...
What is the purpose of the CPUID instruction? To allow an OS or application to determine the capabilities of a CPU where the base ISA has been extended through additional instructions/functionality that is not universally supported across the CPU family.
Where is this used?
Linux Kernel example for enabling some FPU functions: https://github.com/torvalds/linux/blob/master/arch/x86/kernel/cpuid.c
Application level where enabling SIMD for vector math:
Do programmers need to be aware of the underlying use of CPUID? In most cases no. At compile time, the compiler will produce binaries that support both general purpose or optimised code or rely on system libraries that contain similar functions.
For many of the other points you raised, I don't understand why you are raising them as I have either repeatedly said that they are not what CPUID is used for (i.e. Compilers arbitrarily inserting CPUID instructions, executing CPUID instructions repeatedly for conditional code or that "likely" is not how code works when I am trying to summarise general cases - while the OS is typically used to identify CPU functionality, there are cases where it is done at application level for vector math etc). With the rest of your descriptions of how a computer works, they largely depend on your assumptions that I have repeatedly rejected.
Maybe a better question would be how do you see ARM chips with differing instruction sets (as per the article) being handled in software? How will the software stack know what instructions can be run on which manufacturers ARM ISA's?