I created a new hosted feature layer via developers.arcgis.com, and added it to a map. I realised that I omitted a field, so I went in to Item Details > Data and added what I needed.
My layer was an empty, editable layer for use in Collector, and when I edited the table I had already added it to my map. This extra field did not show up for input when adding a point to this map in the field (working online). It turned out I needed to remove the layer from the map, re-add it, and then the field was available for input in Collector.
While investigating, back on a PC, I found similar behaviour in the Map view. A new field on an existing layer is not shown by default in the table, although it is listed on the Show/Hide Fields option on the table menu (but if you close the table, the 'show' setting is forgotten). If you remove and re-add the layer to the map, the field is shown in the table by default.
Is this intended behaviour? It seems odd that the new field is "there" in some ways and not in others. (I hold my hands up that I should have re-checked my map in Collector before deploying, though!)