Отвечая на ваши вопросы, давайте разберем их по порядку.
### 1) Должны ли значения переменных внутри @keyframes изменяться в принципе?
Согласно спецификации CSS, переменные (или так называемые CSS-переменные) можно использовать практически в любом месте, где допустим CSS, включая правила `@keyframes`. Однако стоит учитывать, что поддержка CSS-переменных в разных браузерах и версиях может отличаться, особенно в контексте использования внутри анимаций.
В большинстве современных браузеров использование CSS-переменных внутри `@keyframes` корректно работает, и анимация может динамически реагировать на изменения значений этих переменных. Но, как вы упомянули, в iOS (особенно на более старых версиях) возникали проблемы с поддержкой этой функции, и они могла игнорировать изменения, что ведет к непредсказуемым результатам.
### 2) С какой конкретной версии iOS динамические значения переменных внутри @keyframes начнут работать?
К сожалению, точные версии для решения багов могут быть не зафиксированы в общедоступных источниках. Как вы заметили, в iOS 16.2 динамические CSS-переменные внутри `@keyframes` не работают, а в iOS 17.2 они начинают работать корректно. Это указывает на то, что проблема, вероятно, была исправлена в более новой версии iOS.
Для получения актуальной информации о различных багов и подобной специфики в каждой конкретной версии iOS, изучение заметок о версиях или закрытых задач в системе отслеживания ошибок от Apple может помочь. Однако из-за характера разработки браузеров и мобильных устройств, изменения иногда могут не публиковаться или быть упомянуты вскользь.
В общем, если у вас есть возможность, обновление до последних версий iOS и Safari — лучший выход, чтобы избежать подобных проблем.