Серийная очередь выполняет одну задачу за раз и в порядке добавления. Следующая не начнётся, пока не закончится предыдущая.
Конкурентная тоже забирает задачи по очереди, но несколько могут выполняться одновременно. Порядок завершения уже не совпадает с порядком постановки.
Дополнительные вопросы
1. Серийная. DispatchQueue(label:) без атрибутов создаёт серийную очередь. Конкурентная появляется только с .concurrent.
2. Главная очередь серийная. Задачи на ней идут одна за другой, на главном потоке.
3. Нет. Конкурентная очередь берёт потоки из пула. На каждую задачу свой поток не создаётся, и число одновременно работающих задач ограничено пулом, а не числом async.