In practice, yes. The vast majority of hard drive failures occur all-or nothing.
Either (a) the cable is unplugged or the drive microcontroller have failed, so the RAID controller gets no response at all -- obvious failed drive.
Or (b) The cable and drive microcontroller are good, but when it tries to read a sector, the internal drive microcontroller detects data corruption because the internal ECC checksum failed, and repeated attempts to read that sector (in case it's a temporary read glitch) eventually time out, so the RAID controller gets a polite "sorry" response -- obvious failed drive.
Either way, it is obvious to the RAID-1 or RAID-5 controller that the drive has failed.
In principle, no.
If something has gone so badly wrong that a hard drive is writing nonsense, and yet somehow working well enough to write the correct internal ECC code for that nonsense, then RAID-1 can't tell which drive is correct.
The RAID-1 system will likely overwrite the good data with the corrupt data on a resync.
RAID-5 is no better.
The "RAID-5 write hole" power failure during active writing is one particular rare but not impossible case.
As far as I know, the only way to avoid such corruption is to use end-to-end checksums in addition to file mirroring, either automatically as part of the file system (ZFS or Btrfs) or periodically or manually (recalculating rsync checksums, simple file verification, Parchive file sets, etc.); ideally with a cryptographic hash such as SHA-256.