->joinWith(['userAddress'], false) will suppress the 2nd query, but by doing so you’ll miss the columns in ‘userAddress’.
Yii’s Active Record always executes a separated 2nd query for the related table by design.
Yeah, I also understand what you want to say, since it IS possible and would be more effective for a simple HAS_ONE relation to get both main model and related model in one query. It has been and will continue to be a controversial design decision. But I second the design choice of the developers, because it’s more simple and effective as a whole.