On the macOS end - you have unix heritage and tools, so let's look at how you pick apart which network interfaces have grabbed which addresses and match what the system was told in response to DHCP broadcast. You could enable packet capture / Wireshark if needed, but here are the quick tools I'd use:
ifconfig -uv
networksetup -listallhardwareports
Pay attention to the en0 / en5 / en whatever since those are ethernet and not tunnels or wireless discovery interfaces.
for me I have ethernet USB adapter (en4) and WiFi (en0)
ipconfig getpacket en0
So the likely values you want from the longer list are:
mac:~ me$ ipconfig getpacket en0 | grep -e addr -e server -e xid
xid = 0xc9d9ceb7
ciaddr = 192.168.1.27
yiaddr = 192.168.1.27
siaddr = 0.0.0.0
giaddr = 0.0.0.0
chaddr = a8:66:7f:4:d:1
server_identifier (ip): 192.168.1.1
domain_name_server (ip_mult): {192.168.1.1, 1.1.1.1}
At this point you'll know if another device is answering DHCP broadcasts or if the Mac has gotten an IP address it wasn't assigned and messing up your network thoroughly.