Sadly, wait-online usually gets simplified down by systemd-networkd, dhcpcd or NM to “having at least one interface with any sort of route”, which often does not really mean “being connected to internet” or even “being able to access the actual LAN”.
I’ve quite “enjoyed” that situation a few years ago when tried to port a service stack to systemd units which was spanned across multiple hosts in different networks acting as a complex distributed computing body. Can’t recommend :D
systemd upstream strongly recommend “not to pull in this target too liberally”: https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
That page describes why network-online.target is problematic.
Summary: “when the network is ready” is a poorly defined statement.
This is exactly why I created networkd-dispatcher.. to be able to run services/arbitrary things on network change events.