Hi. We have simply followed the API instructions at https://lan.developer.lifx.com/ and implemented it accordingly. When we tested it, we only tested it in our office so we haven't done any major "field test" so to say. If your Router gets discovered then it obviously responds to the UDP scan packets we send out. Maybe the Router for some reason rewrites the source IP address of the real LIFX to its own IP address? I can't understand why this would happen. Maybe some Wireshark log could help if you could capture the network traffic.
You could also test if Lifx's own mobile app finds the devices on the local network and test if it works correctly. It can be a bit hard to distinguish the Cloud lights and the LAN lights, but the LAN lights are shown under the header "[Wifi SSD] Lights".
We noticed a few times that lights just stopped working (seems the light's network stack hanged or similar) on the LAN but continued working using the Cloud. At this point neither our integration nor Lifx's own app worked. A reboot of the light made it work again.