While protobuf comes with the strict parser built in, it's certainly possible to work with JSON in such a way that it is effectively strictly typed and versioned. These factors aren't really a "key difference" between the two formats, so much as an ergonomic one, imo
Yep. I prefer handling the versioning and validation separately of the parsing. You need to define your schema regardless, then untrusted data from clients must be validated against it. I tend to prefer separation of concerns.
If strict typing and versioning are useless to you, sure.