Yep, tailscale definitely will do direct routing between nodes if available and only uses the DERP relays if it can't establish a direct connection. It also uses the DERP nodes to help with NAT-busting, and from what I've heard the tailscale NAT busting is "best in class". I can say that in my situation TS is able to establish direct connections between all my nodes, with maybe a couple exceptions.