Amos already answered very fully. To me, this just seems a worthwile optimization. Background neighbor probe with dummy request and cache_peer idle=num seems reasonable in terms of effectiveness and implementation effort; happy-eyeballs tcp and server-side pipelining have a lower ROE (Return On Effort) and RONU (Return on Network Unfriendliness), so I'd postpone them at a later stage, or just not do them.
Notice that IMO the solution to Alex' specific needs, can be more easily addressed via an udp-based openvpn network (unless the topology is very very complex) (tcp may work too but it'd need to be verified). Kinkie