The problem may have nothing to do with Linux.
maybe it is not the laptop and linux distros maybe it is the router or some other network service/config that is stopping you.
your desktop could be using DHCP but is given static IP for its MAC address or for that port on the router and given MAC.
before getting too technical and dreaming up crazy networks you could do some testing and give us some more info.
MAC addresses of the laptop and desktop?
use you working work around:
when you boot the desktop first, get its IP address.
then when you move the network cable to the laptop, get its IP address.(ifconfig-a)
you could also look at the IPs with the other non-working methods you use.
scorp123 may also have some crazy ideas too.