This is due to the algorithm used by Discovery. That's why I said, "assuming devices have only one loopback". I misundersood your "l3" comment. I assumed you mean layer 3 as apposed to lo3. Discovery will always use the loopback with the highest IP address. This is not configurable.

In order to get the devices discovered by the desired address, you could change the resolution to SysName for example. Then, add DNS records for all your devices' sysNames that point to their respective lo3 addresses. Alternatively, you could add the highest IP for each device into ACS.