KPIs (as a target) are undoubtedly good for something that's directly benefit the company (with the caveat of long or short period), and the task is static. This is good for 40 years ago where factory worker are a thing, which nowadays, those good KPIs are mostly replaced with machine specifications.
What those people's complaining about the KPIs are for knowledge tasks, usually software development, where it's full of uncertainty and almost impossible to estimate (see https://en.m.wikipedia.org/wiki/Hofstadter's_law). If you can't estimate the work, how can you make targets? You can only measure it and hope that the measurement can help for future estimation.
I don't think you can get there with KPIs, but at the same time, you can't completely discard methods like these which have some level of credibility with other stakeholders. As evidenced by many conversations on this topic involving programmers, KPIs get completely thrown out, or worse, undermined. Insufficient time and effort is given to actually making the leap to something that might be useful sustainable. Hence, many places never break away from KPIs and the complaints keep coming.
Measurement without particular targets can be quite useful when the organization is open to sharing data without punitive responses. This gives you different axes to explore with regards performance so that you can shape your messaging around performance provided you can contextualize it.
EDIT: My personal philosophy on how strategy should work and be implemented is closer to that of Mintzberg (https://en.wikipedia.org/wiki/Henry_Mintzberg) than Porter.
IMO keep measuring, identify all the problems and fix/improve them, and reward based on team achievement rather than target, it'll boost morale overall.