I set up a new tunnel in Seattle. The create tunnel screen recommended Ashburn, VA as the PoP. Why? (My guess: it goes by where you are viewing from rather than the endpoint IP.)
Correct. It's based on which instance of the anycasted locator you're getting routed to.
I pinged the Seattle PoP and two Freemont PoPs, and the Fremont PoPs were consistently slightly (34.7ms vs 35.7ms) faster, even though farther away. Why?
Geographical location doesn't always reflect the network path. A traceroute should help shed some light as to where the traffic is going. Fremont, being in the SF Bay Area will tend to have, in general, better connectivity than a secondary network market as Seattle tends to be.
So I created the tunnel with the Seattle PoP (figuring an earthquake in Fremont shouldn't take Seattle office offline). Pinging the Denver office via IP6 was 80ms. Pinging Denver office via openvpn was 37.3. So I set up another 6in4 tunnel between Seattle and Denver, with a ping6 time of 35.9. I'm guessing without the direct tunnel, the ping6 time includes a 35ms hop between each endpoint and its PoP. Pings to google.com are fast (37ms) from either location.
Right. Traffic times will always also include the underlying v4 path to the tunnel server. Unfortunately tunnels don't act like wormholes.