It's commonly taught that the difference between ходить/идти and ездить/ехать (and between their prefixed derivations) is that the former connotes movement by foot and the latter connotes movement using a vehicle as the means of transportation.
However, in my workbook, whenever the moving subject is a vehicle itself, verbs based on ходить/идти are always used, instead of those based on ездить/ехать.
Автобус подошёл к остановке even though I would say
Автобус подъехал к остановке.
Автобус идёт 20 минут до центра. even though I would say
Автобус едет 20 минут до центра. But if the subject is
пассажиры на автобусе suddenly the workbook and I are in agreement, e.g.
пассажиры на автобусе подъехали к остановке.
1. Is this correct? Why? Vehicles don't walk, and they don't even have feet to walk. And if a vehicle is moving, it is because someone is causing it to move.
Also, many times my book will refer to the motion corresponding to a trip across a city, involving multiple means of transportation and walking between them, using verbs based on ходить/идти instead of ездить/ехать.
Вчера мы ходили в Большой театр... Мы вошли в автобус... Мы доехали на автобусе до центра. В центре мы вышли из автобуса. Все вошли в театр.
2. Is this correct either? If it is, then how can one distinguish trips where the person walked the entire way from trips when one used vehicular means of transportation?
If it were correct, reductio ad absurdum wouldn't it mean that we should almost never use the verbs based on ездить/ехать, because it is impossible to get to or from any means of vehicular transportation without walking somewhat (unless you were born on a bus and spend your entire life on that bus without ever leaving, or something like that).