[Bugfix] relationship changes shouldn’t cause async fetches

As it turns out, we never actuality apply relationship syncing to async relationships, all the code would do was get the relationship which could cause fetches and the bail before the synchronization occurred. This merely moves the guard higher, and changes the guard to be side-affect free.

Later work must happen to introduce relationship syncing for async relationships.