Problem: If an endpoint returns JSON with properties I don't expect, I want...
Problem: If an endpoint returns JSON with properties I don't expect, I want to know about it.
Solution: Use Zod with strict().

Two good suggestions in comments:
Consider just doing this in dev.
Consider using safeParse so you can log this instead of failing.
"Why worry about unused properties"?
1. Unused properties waste resources.
2. Unused properties may be a security issue. If the unused data is sensitive it may be accidentally being "leaked".