I would have thought something with "wait online" in its name would actually wait for it to be on-line. To me, "on-line" means connected and operational. Starting up but not actually on-line, isn't on-line.
I find it interesting that freedesktop.org suggests that the entire purpose of NetworkManager-wait-online is to make sure that remote drives mount AFTER an IP address has been configured:
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
That's exactly the use case that's broken here.
By the way, my own experiments (on a lab of twenty-five FC26 workstations with dynamic IP addresses) seem to confirm that removing -s fixes the issue. Increasing the timeout from 30 to 45 was enough to keep switch NetworkManager-wait-online itself from timing out due to switch glitchiness.
I agree that the nm-online manpage is confusing. My experiments seem to indicate that perhaps "active" means the network interface is "up" in the sense that the interface is listening for data-link layer (i.e. Ethernet) frames. It doesn't seem like it means the interface actually has an IP address configured.
Robert Marmorstein