There is no difference. You need to handle that based on the context you're in.
I ask because I hit this issue a fair few years ago with protobuf v3, we ended up using a wrapper type pattern. Can't recall why it was important to know at the time, but it was.
But it's turtles all the way down, you can't distinguish between for example `null` and "missing" when parsing JSON.