I am adding a unique ID to each submission of the form. Right now, I made that ID the first field, and pre-filled it with the ID, along with a help text asking the user not to modify this field. Is there any option by which I can not show this option to the user?
I assume you're only interested in ways to programmatically assign a unique ID before the user fills out your form.
No, Google Forms still has no direct support for hidden fields such as you have in HTML Forms. Your only option appears to be the custom styling route, which you're already aware of.
Here are two promising ideas that just don't work...
Pre-fill a deleted question. If you delete a question from a form, it remains in the response spread sheet - unfortunately Forms suppresses values for deleted questions that are presented in pre-filled URLs, otherwise you'd be able to trick your Unique ID into the submission that way. (I thought this might be a clever work-around, but was disappointed that it didn't work.)
Pre-fill a question on a skipped page1. You can set up a question on a second page that the live form will skip over, and you can also generate a pre-filled URL for that question. So far, so good - but if the user doesn't actually navigate to that page, the pre-filled response is not submitted.
1Thanks to @AdamL, who posited this idea during a previous discussion on this topic in the old forum.