Are you using it over Ethernet or WiFi? I remember I tried Moonlight to a local computer two or three years ago over Ethernet and the latency was still too bad, any ideas if that's better today?

If you were using a TV streaming stick, many have slow Ethernet due to slow port (Micro-USB), slow PHY hardware (100 mbps) or slow network stack. For the popular streaming apps they only need 25 mbps max, so most stick makers put no effort into design or validation testing beyond that minimal use case. And they don't care about latency.

I use Moonlight via direct 1 gbps Ethernet from a high-end gaming PC in the same house through a Google Chromecast 4K HDMI dongle with a powered USB-C hub for the RJ-45 input and it works flawlessly at 60 fps 4K 10-bit HDR with around 12 ms video latency. Some USB 3 hubs and USB Ethernet dongles won't reach full speeds on some streaming devices USB ports. The second one I tried worked at full 1 gbps.

You have to verify every software and hardware component in the chain is working at high-speed/low latency in your environment with a local speed test hosted on your source machine. I used self-hosted OpenSpeedTest. Moonlight works great but none of the consumer streaming stick or USB hub/RJ-45 dongles test for high speed/low latency across dozens of different device port hardware/firmware combos - so you can't trust claimed specs. Assume it's slow until you verify it's not.

It goes gaming desktop PC -> ethernet -> fiber -> 5g -> wifi -> Amazon Fire stick at a flat 100km away from the PC, and I still finished Expedition 33 on it with no problems.

I'd say definitely give it another go.

Moonlight works flawlessly for me and I use FreeBSD as a daily driver. Of all OSes to play games.

UnRaid + KVM VM + GPU Passthrough with Moonlight has meant I no longer have to dual boot to game.

60FPS at 1080p on a 4k screen. 4k struggles but I think that's more my GPU then anything else. I do have 2x of them.

I'm assuming you don't play many games with anticheat though since they'd flag it running in a VM