Seems that Vert.x is delegating all JSON parsing to Jackson (com.fasterxml.jackson.databind.ObjectMapper under the hood).
Using the following before creating OpenAPIContract seems to fix the issue:
import com.fasterxml.jackson.databind.DeserializationFeature;import io.vertx.core.json.jackson.DatabindCodec;
// Disable using Long for integers so small numbers become IntegerDatabindCodec.mapper().configure(DeserializationFeature.USE_LONG_FOR_INTS, false);