What about words like 'oxen' and VAXen? The alternation between -s/-z and -en is a grammatically-conditioned alternation. A person learning English could not find a phonological rule for when to use one and when to use the other; whether a word takes a -s/-z ending or an -en ending must simply be memorized.
There is one more major alternate for the English plural: the -iz for words ending in a sibilant. The alternation between s/z/iz is called an automatic alternation because using the wrong alternate in the wrong situation would produce a phonologically illegal English word -- 'fishs' is very hard to say and is not legal English. A good example of an alternation that is not automatic is that between 'a' and 'an'; while we typically say 'an apple,' we are not forced by the phonology to do so. We can, for instance, easily say 'sofa application,' in which the sounds on the word boundaries are the same as in the illegal 'a apple.'
Not all alternates are created equal. For instance, the s/z pluralization is far more common than the -en pluralization. There are two ways of analyzing this type of difference, depending on the specific case. One option is to call one alternative (-s/-z, in this case) the default and to say that for certain words the other alternate (-en) overrides it. In this "defaults and overrides" approach, neither form "comes from" the other. The other option for analyzing alternations is in terms of underlying and derived forms. This is similar to the defaults and overrides approach (with the underlying form as the default and the derived form as the override), except that the derived form is derived from the underlying form. This is the relation between -s and -z, which are exactly the same sound except for voicing.