I don't really like this, you're doing too many things at once in each line.  I'd prefer something like:

    default_counts = %s(bono homestead homer sprout).each_with_object({}) |n, o|
      o["#{n}_count"] = old_counts[n.to_sym] || 1
    end
    config = default_counts.merge config
    new_counts = {
      ellis:1,
      bono: config[:bono_count]
      ...
      sipp: config[:sipp_count]
    }

Obviously with some commenting...