Can you detect that the addresses generated by an HD wallet came from a single wallet? Can someone who is looking at the blockchain detect that 2 or more addresses generated by a single HD wallet are actually generated by that single seed/HD wallet ?

Can someone who does know that 2 or more addresses came from a single HD wallet derive the seed or any keys ?

I'm using Bitpay's Copay app on Windows 10 mobile.
It's an HD wallet and it holds several addresses with a bitcoin balance.
As I understand it a HD wallet generates new addresses from an initial seed which I have backed up.

Out of curiosity I transferred some bits to a new receiving address generated by the same wallet, and I noticed the wallet UI says I "moved" the bits, not "sent" or "received" them.
I assume this is just the wallet being smart and letting me know the bits came from this same wallet, but this brings me to the question of, have I just linked these three (including change) addresses together for anyone on the blockchain to see ?
No.

All addresses generated by HD derivation are indistinguishable to someone who does not know the parent's master key (the private one for hardened derivation, the public one for normal derivation).