Разница в том, как HTTP/1 и HTTP/2 настраивают сокеты для работы в сети.
В HTTP/1 браузер делает запрос на один актив, а затем ожидает загрузки этого актива, прежде чем сделать следующий запрос. Это очень медленно, поэтому, чтобы обойти это, браузеры начали мультиплексировать свои запросы и делать 6-8 запросов одновременно, разделяя полосу пропускания между этими 6-8 запросами.
В HTTP/2 браузер открывает один сокет, выполняет все запросы и затем ожидает потоковой передачи всех ресурсов с максимально возможной пропускной способностью.
Причина, по которой вы должны увидеть высокий TTFB, заключается в том, что в HTTP/1 каждый запрос является отдельным сокетом, а в HTTP/2 все запросы загружаются через один поток. Возможно, вы сделали запросы, но вам нужно дождаться ответа сервера со всеми запрошенными вами данными.
Теоретически HTTP/2 должен быть быстрее, потому что он более эффективен - у вас нет лишних затрат на открытие нового сокета для каждого запроса. Вы передаете все данные по одному каналу данных и можете назначать приоритеты запросам в зависимости от того, как должна загружаться страница.
На практике это зависит от того, правильно ли браузер выполняет приоритетные запросы, и от сети, обеспечивающей полную пропускную способность для потока с одним сокетом, а не от искусственного ограничения запросов.
Кроме того, поскольку вы заявили, что используете незашифрованный HTTP/1 и зашифрованный HTTP/2, шифрование вызовет дополнительные издержки и потерю производительности. Вы можете попробовать сделать зашифрованный HTTP/1 для лучшего сравнения.