Nous dormirons dans un hotel.
Nous dormirons à l'hotel.
Why does the preposition change in this case? Is it an inconsistency in your opinion? Do native French speakers occasionally find that unusual /strange, too?
Outside rare regionalisms, native speakers never find idiomatic phrases unusual or strange. This is by definition. "Strange" and "stranger" are related for a reason.
On1 dormira dans un hôtel : There is an hotel where we will sleep. We probably already know which one.
On dormira à l'hôtel : The place where we are going to sleep is a "hotel" type of place. That's the plan. We might sleep in different hotels.
On dormira à l'hôtel (bis) : We will sleep in a specific hotel, the hotel well known to the people we talk to.
On dormira dans l'hôtel : We will sleep inside the hotel (not in the parking lot ;-)
On dormira à un hôtel : Not idiomatic. Unlike the three other sentences, no native speaker would say that (not from France at least).
If you name the hotel, the meaning cease to be generic:
On dormira à l'Hôtel du Nord : Regular.
On dormira dans l'Hôtel du Nord : Weird (only a single hit for on dormira dans l'hôtel with Google, from people used to sleep under the stars...).
1 Native speakers almost never use the first person plural in speech (even if some of us believe they do.)
Note also that this usage of a definite article for indefinite object is only possible when that object can logically be considered generic according to the verb used.
A hotel is a place where people sleep "by design", so on dormira à l'hôtel is synonymous of on dormira dans un/des hôtel(s) but when the object is not the one expected for the verb, the generic meaning doesn't work: on dormira à la gare can only be understood to mean, we will sleep at the train station we are talking about or at the only station there. On the opposite, in on dormira à la belle étoile (an idiom), the meaning can only be generic because there is no specific place with that name.
Same with a restaurant. On mangera au restaurant has either a generic or a specific meaning while for example on mangera à l'aéroport can't be used generically, that will happen on a given airport (we will eat at the airport we are talking about).
Those are how one says the general and idiomatic idea of:
go to school
go to work
go to the market
go to church
go to the seaside
dans really means in as in inside of, within the confines of.
If you are staying at a hotel, it would be: à l'hôtel, and not dans l'hôtel.
And, if you want to express the general idea of dining or eating at a restaurant or dining or eating out* in French, please notice: aller au restaurant.
We went out for diner last night. Nous sommes allés au restaurant hier soir.
The generic ideas as in the list above all take the definite article in French, and only "go to the market" takes one in English, for example.
(What was specified in the other answer about we being on is often true.)