I have discovered what I believe to be a bug in Survey123 that I am able to replicate in multiple forms in two different ArcGIS Enterprise (10.6.1) environments.
In my survey, I have a hidden field with a "bind::esri:fieldType" of "esriFieldTypeInteger." Just for reference, we populate that hidden field from a URL in a web map.
When we submit a survey with that field being null, it will be written to the data store table as being null (and I can verify that by looking in the hosted feature service and seeing it being null). However, if we edit and re-submit that existing survey through Survey123, it will change the value in the hidden field from null to 0 (again, by verifying that value in the hosted feature service).
Luckily, if a value is already populated in the hidden field and then you re-submit a survey, it will not change the field value to 0. It will maintain the value. It only changes the value to 0 if the original value is null.
Is this behavior to be expected? I don't see why the field value would get changed from null to 0.