I think all the possibilities can be tried at the same time.
there is a NIP somewhere that says you can -- but don't have to -- include a relay from which a referenced note can be fetched. some clients are doing that by default, others are not, maybe others will ask the user beforehand.
same thing for publishing one event you see on relay A to relay B. I think Astral has the option for the user to do that manually, others may decide to not do it all and others may do it automatically.
all the approaches are ok in the way I see it.