My previous explanation was wrong - like the TCs mentioned in the comments , both overloads have the same implicit sequence of transformations, and the ambiguity occurs as a special tie-breaker defined in the standard.
§13.3.3.1.4 [over.ics.ref], . 1
([dcl.init.ref]) , - , , , ([over.best.ics]). [...]
, , , . .
-:
§13.3.3.2 [over.ics.rank], . 3.2.3
[ S1 , S2, ...] S1 S2 ([dcl.init.ref ]), -, -, S1 rvalue rvalue, S2 lvalue. [...]
, :
, rvalue rvalue, .
, rvalue lvalue, , .
[...], S1 S2 [...]
, const r const&, :
§8.6.3 [dcl.init.ref], par 5.2
"cv1 T1" "cv2 T2" :
[ lvalue ...]
lvalue const (.. cv1 const), , rvalue.
[...] rvalue ( -) lvalue, "cv1 T1" - "cv2 T2"