And from a SIP point of view, there is nothing in REFER/Replaces that requires a Re-INVITE. In the most general case, the target of the request would need to generate INVITE, with a Replaces header, but this would be a full INVITE, not a Re-INVITE.
As noted, if the resulting INVITE would be sent to itself, which is normally the case, Asterisk will handle it internally and not physically send it. Only if the call ID and tags don’t match might it do that, and things then get a bit kludgy, as I recall it, as I think the dialplan has to be written in a specific way for it to actually work. I never tried this in anger.
Your target phone will be ringing because Asterisk doesn’t recognise the call-id and tags as being local, and probably also because the phone doesn’t recognize them either, possibly combined with not doing the right kludges in the dialplan.
You have some spaces in your quote code where they are not allowed (in the middle of escapes). You are also missing a delimiter before from-tag. Examples of a correctly formed Refer-To can be found on page 27 of RFC 5589: Session Initiation Protocol (SIP) Call Control - Transfer
PS it is a long time since I looked at the internals of this, so I’m not sure my comments about dialplan involvement are correct, but Asterisk is clearly not recognizing the replaced endpoint as local, probably because the Refer-To Replaces header request is garbled.
(Recalling a bit more, I think the issue with the dialplan is that Asterisk will put the outgoing INVITE, in a case that can’t be handled locally, through the dialplan using just the user part, and to get the INVITE sent to the correct place, the dialplan has to add back the correct domain, as, when you really need to send the INVITE, the destination isn’t typically something that is known to Asterisk.)