Так как не распутанной причину, хоть и починенной проблему оставить я не мог, то пришлось копать дальше. В итоге выяснилось, что Proguard несмотря на то, что ему сказали не трогать класс, все равно менял в байткоде имена полей на заглушки, в итоге ломалась десериализация.
#57 = Utf8 pattern
менялось на
#59 = Utf8 p0
К счастью есть спец параметр, запрещающий и это, правда во всем приложении, а не классе, что моветон, но деваться некуда.