Doing a diff on the Class::Struct included with Perl 5.14 (I don't have 5.16 on my system) and 5.26, it does look like the constructor was changed from doing direct assignment of initial values into the blessed hashref to instead calling the object's accessors to assign initial values. It doesn't look like there's any way to have this work consistently between the versions, short of writing your own constructor, and then you miss out on most of the benefits of using Class::Struct to begin with.
Personally, I'd recommend switching to using one of the better supported OO toolkits on CPAN: Class::Tiny, Moo, or Moose.