It depends on what you are trying to achieve.
If you are trying to assess the structural complexity of any given sentence, then metrics like you suggested are useful, as is measuring the complexity of the syntax tree or using something like the Flesch-Kincaid metrics.
If you are trying to assess how difficult a sentence is to comprehend (e.g. for a specific school grade/age), there are various factors involved.
One factor is whether a sentence can have multiple valid syntax trees due to the words belonging to multiple part of speech classifications, or have different meanings within the same part of speech classification. Consider:
- The book "All About Reading" was very good. -- to read, or the town?
- "The wind up the valley was strong." vs "The wind up toy was old."
- "She took the lead out of the box." vs "He took the lead in the dance." -- also, the first is ambiguous: the metal, or a dog lead? You need to know the context from the previous sentence(s).
- "The mouse was getting old, so they replaced it with a new wireless one." -- here the context for 'mouse = computer mouse' instead of 'mouse = animal' is only determined at the end of the sentence.
Another factor is whether it uses specialist words in a given domain (including archaic words), or meanings for the words. The more of these there are, and the more obscure outside the given field they are (e.g. electricity vs quantum chromodynamics), the more complex the sentence is to understand. The same goes for abbreviations, slang, accentisms ("Aye, tha' be t'one ah war lookin' fer."), or even pulling in words from other languages ("That is no bueno.").
Another factor is whether the sentence uses non-standard word ordering, either for poetic effect or for something like Yoda speak ("Go, you must.").
Another factor is if the sentence uses the incorrect form of a word (its vs it's) or the wrong homophone (their vs they're vs there) or the wrong word (e.g. via spell checkers or predictive texting for technical or uncommon terms).
Another factor is mixing or using a different spelling (British English, American English, text/SMS, leet (e.g. l33t), archaic, ...) to what the reader is used to.