Does not anonymizing a real PIS/PASEP (swapping a few digits) solve the same problem?
Manually swapping digits almost always breaks the modulo-11 check digit, so the "anonymized" value fails validation and stops being useful for testing; and if someone fixes the check digit on purpose, there is still a risk of recreating another real worker number by coincidence, which solves nothing.
Does the LGPD classify PIS/PASEP as sensitive personal data?
It falls under the general personal data category (it identifies a natural person), not the closed sensitive-data list (health, racial origin, etc.) in the law; even so, personal data still requires a legal basis and use minimization, which alone is enough reason not to keep it in a test environment without a need.
QA insists they need a real PIS to test eSocial integration, is that true?
It depends on the layer under test: format validation and internal business rules work fine with any synthetic number carrying a correct check digit; only a real call into eSocial staging (which has its own official sandbox) would need a government-recognized number, and even then the right move is to use eSocial own sandbox, not a real employee record.
Who decides inside a company whether data counts as "test data" or "personal data"?
It is not the database field label that decides, it is the origin of the value: if the number came from a real enrolled person, it carries the same protection duty wherever it gets copied, and it is the data protection officer (DPO) or the internal privacy policy who should formalize the rule against ever reusing a real record outside production.