"I eat lunch at the cafeteria."
This is part of Keigo, that is, polite speech. お is pre-pended to some nouns as a show of respect to your listeners. https://www.wasabi-jpn.com/japanese-lessons/the-honorific-form-the-humble-form-and-the-polite-form/
It's an honorific prefix for politeness. I believe お is used for words of Japanese origin, while ご is for words of Chinese (more accurately, Sino-Japanese) origin.
Are both レストランでひるごはんを食べます and ひるごはんをレストランで食べます acceptable? Or is there a correct sentence order?
This works, from my understanding. The particles do the work that word order does in English.
I understand this sentence as "I eat lunch via the cafeteria". This helped me understand which particle I needed to use.
I hear no difference in pronunciation between 'を' and 'お'. Is that normal?
I wrote "おひるごはんをしょくどうで食べます". Duolingo still marked it but I just wanted to know if this is actually acceptable.