As I understand it, modern HDD firmware handles bad sectors and remaps as you correctly state, but this should be invisible to the OS.
They only remap on writes, not reads. Try to read a bad sector, and there's nothing to read from it to remap to a good one.
Some time back, we had a disk fail in a RAID, and the controller then refused to sync from the remaining disk to the new one because the remaining disk had a bad sector. I eventually had to delete all the nonessential files from the RAID and overwrite all the free space with zeros to get the disk to remap to a fresh sector so it could sync up.
Which is odd, because I thought the RAID controller was supposed to scan the disk in the background to check for bad sectors.