There was a long discussion about this in a different thread, in which I (a native speaker) found myself confused. My conclusion, at least, was that this structure of a sentence is an anomaly, probably an imitation of other languages and therefore there is no good answer for this. In more formal Hebrew you can drop the את. You are right, I think, in that the thing that is יש is supposed to be the subject but acts like a direct object here.
"Yesh" acts as a verb, (an action) and "mitsrachim" is a specific object receiving the action. "Et" is a direct object marker used before a specific noun, I.e. a noun with the prefix (ה), so the sentence is grammatically correct. We have "et" the ingredients (goods, groceries, etc.)
There is no action involved. We are talking about the state of presence (certain things, namely, "mitsrachim" are present among the things at my disposal). The word "yesh" acts as the state indicator, a function that can be performed by certain verbs and adjectives. However, technically, it's neither a verb, nor an adjective, but a separate part of speech (A famous Russian linguist professor V.Vinogradov called it "a category of state". In Russian, the words of this category are often identical to adverbs but are used predicatively). Such words are not supposed to have a direct object, therefore, originally the preposition "et" was not used after them. In modern Hebrew people started to use it because they mapped it on their mother tongues (e.g. Yiddish) where the transitive verb 'have' or its equivalent is used, so they keep thinking of the sentence subject as an object. In Turkic languages there are exact equivalents of the words "yesh" and "ein" and the nouns they introduce always function as sentence subjects. Those languages also use a special marker (suffix) for definite direct objects, but it is NEVER attached to nouns introduced by the words for "yesh" or "ein".
Thanks for the detailed reply. Very interesting. I didn't know any of this.
Thanks for the explanation. I still don't see the sense of it, and in fact it sounds as if the "et" was introduced mistakenly by non-native speakers. In any case, this certainly isn't something we've learnt or can be expected to know at this stage, so it shouldn't appear at this point in the course.