So, the output of declare -p is only intended (as some comments in the code as well as statements from the maintainer on the mailing list suggest) if not documented to be reusable but in effect that's only (if at all) in the same version of the same bash shell and in the same locale on the same system (same libc and locale definitions).
Which dates the actual implementation on 1995-03-24, so after ksh93's but before ksh93 documenting it producing reusable output.