Как создать порядковый номер для заказа конкретного заведения?
Если блокировать таблицу не совпадут.
LOCK TABLES orders WRITE
тут получаем максимальный номер
пишем новый заказ
UNLOCK TABLES
Порядковый номер, небось, еще и сбрасываться должен каждый год?
Например, можно сделать два запроса: INSERT, при котором id таки назначится нормальным авто-инкрементом, и UPDATE, который заполнит отдельное поле number значением 
SELECT count(id) + 1 
  FROM orders 
  WHERE id < :currentId AND project_id = 2 AND created_at >= '2022-01-01'Никакие гонки это не запутают. 
А если этот number нужен только в одном месте, его можно таким запросом получать динамически и не хранить нигде вообще.