Today again I tried a ~50-LoC refactoring at once, and I couldn't resolve a bug. Did it step-by-step, all good.
Although, the big-bang approach did act as a spike, leading me to the overall design I ended up using
So basically, License that hasOne User, the License class needed the $primaryKey set to do a licenses query with('user') and have the auto batched query work correctly
On the off chance this helps anyone... I was having mysterious issues with a certain Lighthouse PHP (Laravel / GraphQL) query with a hasOne relation. Finally fixed it by setting the $primaryKey field on the model class of the query.