GROUP BY ごとに COUNT するときは生のSQLで SELECT文の中身を書いて COUNT(column_name) を指定しないといけない。
 コード
use App\Models\Post;
use Illuminate\Support\Facades\DB;
// 略
// ユーザー毎の記事の件数(1件以上)
$user_posts_count = Post::select(DB::raw('user_id, COUNT(user_id) AS user_id_count'))
                            ->groupBy('user_id')
                            ->having('user_id_count', '>=', 1)
                            ->get();