Так зачем? Ну вырежет прогвард поля, которые не используются, так их и парсить тогда не надо. А всю необходимую информацию он и из обфусцированного кода возьмет, аннотации то к полям никуда не режутся, а тип остается прежним. Ну может это раньше не работало, но сейчас конструкция вида
data class DataClass(@SerializedName("last_name") val lastName: String)
у меня работает без конфигурирования прогварда.