Somehow I didn’t immediately understand this, but somehow it’s quite simple, but not obvious from the start.
If you need to add a field in a scope, but in such a way that it does not affect other selections or does not select only this field, you can do this:
public static function scopeAddCustom(Builder $query): Builder
{
return $query->select($query->getQuery()->columns ?? '*')
->addSelect(new Expression('TRUE as custom'));
}