At present N1QL joins are based on document key (Next release will have support for ANSI joins). The above query using Index Join.
In Index JOIN you need to have Index on ON KEY.
It takes META(ev).id (FOR ev ) and matches with ON KEY expression using above index
produces META(ev2).id and JOINS that document.
So in that process META(ev).id is STRING and ev2.tId is numeric. They will not match (to match the types also need to be matched, no implicit conversion, so doing explicit conversion).
If you are not getting anything you might not have relation ship through document key. or document with key “4” may not exist