The reason to "not" have random encounters is that Larian scripted out the combat and exp gains specifically to control items/economy/levels to fit in this module....(items and economy are defeated by an opposing mechanic on vendor inventory resetting after long rest....but that is another topic).

I see the reason they got rid of random encounters so that encounter structure is intentional and not random, but this is a design choice that could go either way.

Random encounters on rest are used as a mechanic in games to pressure players and to make sustained party health a mini game of resource management. The question is, do we or Larain(mostly Larian) feel that the game should be focused on party survival via attrition, or combat success via scripted fights?

You can't have scripted fights be balanced by allowing players to gain exp via grinding. If so you have the issue of either A) forcing players to grind prior to an encounter. Or B) having encounters be too easy because the bar was set too low.

I personally like the idea of fights being challenging and purposeful. I am opposed to a "final fantasy" style grind prior to fighting a boss....if anything breaks "immersion" (hate it when people keep complaining about immersion, but here I go!) it is having to hang out and kill goblins and rats prior to fighting a boss.

"IF" resting could be limited and zero exp gained from encounters, that would allow for random fights...but then players would feel cheapened by getting nothing out of the encounter and it would just be an annoyance. Hell, in old D&D I got sick of all the random encounters and I just ran from as many encounters as possible in the old Gold Box games at one point. It was more time efficient.

Long rest could require the use of food (there is TONNNS of food in the game, and this would provide a disposable resource use). This would limit long rests, but then the problem of story being tied to long rest creates a new matrix of problems.

Bottom line, there are too many systems at play with the long/short rest feature and pulling on one breaks the other. Maybe that was a bad design choice...but this is where we are now.