Setting RPATH and not RUNPATH for executable

Yes, the behavior is up to the linker itself. Note that another difference is that RPATH entries are inherited (used when loading libraries loaded by the current library) where as RUNPATH entries are only used when loading libraries referenced from the library with the RUNPATH entry.