Load a has_one target for a new record if possible

Fixes #18086
> I'm not sure a one-line implementation is worth such a trade-off

Lines of code duplicated isn't the concern, it's sharing domain logic.