Didn't realize the separate I/O board was present. It could well be the connections from the I/O board to the logic board. This is one of those issues that just isn't going to be fun to diagnose. Its not very clear if its the I/O board or the logic board at this point. Here is the link, the ribbon I speak of is shown in step 27:
Clean connections if there is any residue on anything. Reseat the ribbon on both ends if possible. I once came acrossed a laptop with a keyboard issue (most keys typed correctly, some would type two different keys). I replaced the keyboard only to see the same issue. So I opened it up again, cleaned the ribbon and ribbon slot for the OLD keyboard (with a very small torx pointy bit) and all the keys worked again.