Windows paths with drives were being interpreted as network protocols in canonicalize_path (which was expanded to handle more general URLs in #48784). This fixes that and adds some tests for it.