I think is because punctuation symbols are separate unicode characters that are collapsed into the first preceding non-Mark character.
Example: ד ָ דָ
So if you want to count the visible characters, you need to account for the marks.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.