If a test framework message's field name is in the list of HASH_INT_VECTORS, we currently assume that it always has to contain a vector of integers and throw otherwise:
https://github.com/bitcoin/bitcoin/blob/0ebd4db32b39cb7c505148f090df4b7ac778c307/contrib/message-capture/message-capture-parser.py#L82-L83
(introduced in PR #25367, commit 42bbbba7c83d1e2baad18b4c6f05bad1358eb117).
However, that assumption is too strict. The (de)serialization field name "headers" is used in two different message types, one for cfcheckpt (where it is serialized as an integer vector), and another time for headers (where it is serialized as a vector of CBlockHeaders). Parsing the latter fails as it is not an integer vector and thus triggers the assert.
Fix this by adding the integer type check as additional condition to the HASH_INT_VECTORS check rather than asserting.
Fixes #25954.