TLDR: No, you are not correct. You’re imagining things.
Note that /slashes/ indicate phonemic transcriptions, [brackets] phonetic ones. When you are talking about sounds, you want phones. The thing is, native speakers don't really hear all these sounds that you think you hear. That’s because they think in broad phonemes, not in narrow allophones.
It is natural for some degree of assimilation to occur in connected speech. Here that means voicing can change based on what sounds are found close by, based in part on fast-speech rules. Voicing of /s/ and devoicing of /z/ can both occur in various phonological contexts without this in any way affecting any native speaker’s perception of the underlying phoneme here.
Moreover, the exact realization of abstract /s/ and /z/ can and does naturally vary between dialects, accents, speakers, and even utterances. In narrow phonetic transcriptions, these are represented by [s], [s̺], [s̻], [z], [z̺], [z̻], and many others, including sounds drifting into [ʃ], [ʒ], [ʂ], [ʐ], [ɕ], [ʑ], and more, along with a blizzard of diacritical markings.
Native speakers do not hear those distinctions, nor can they without significant training even recognize them. They just throw them all into broad phonemic buckets of /s/ and /z/ — no matter what the physical sounds produced may happen to be.
For some reason, you have not learned to do that yet. You are probably coming to English from some language where things matter that don’t matter in English. You need to train yourself to ignore things that don’t matter. What those things are differs between one language and the next, and you seem to be dragging some other language’s rules about this into English. That will just get you into trouble.
I would also recommend to you our sister site for English Language Learners.