Load a has_one target for a new record if possible

Fixes #18086
Does this basically duplicate the logic in `HasManyAssociation#foreign_key_present?` ? Is there any way to re-use that method?