Try querying against the RSDSensors table. The following query lists sensor name and system name:
https://<server>:8443/remote/core.executeQuery?target=RSDSensors&select=(select%20RSDSen sors.SensorName%20EPOLeafNode.NodeName)&where=(contains%20EPOLeafNode.NodeName%2 0%22kl%22)&:output=terse
Sensor Name System Name
Rogue System Sensor - 10.84.132.87 KL51--51-ST
Note that if the same system was detected multiple times, I'd expect multiple lines in the output, since we're starting from the sensors and joining through to the leaf node table.
If I take off the Where clause all I get is a list of my sensors.
If you don't include the EPOLeafNode table as one of the selects, no join will be performed and you'll just get a list of your sensors. If you do include the EPOLeafNode table, but without a filter, then I would expect you to see every system that has a matching managed system.
Oh, that's another point I should make though ... if you're looking to find an unmanaged device, you might want to look at using RSDDetectedSystems.DnsName. If the system isn't managed, there won't be an entry in the link table between the detected system and the EPOLeafNode table.
PS: An example:
https://server:8443/remote/core.executeQuery?target=RSDDetectedSystems&select=(s elect%20RSDSensors.SensorName%20RSDDetectedSystems.DnsName)&where=(contains%20RS DDetectedSystems.DnsName%20%22kl%22)&:output=terse
Change the contains filter to something that you'd expect to have a match.
I think this just might work. I replaced the "kl" in your query with a "." to list everything.