The issue was the npm dependency graph was causing the web3 dependencies to be nested inside the `node_modules/web3/node_modules` folder. After removing web3 from `package-lock.json`, and allowing npm to rebuild the graph with `npm install`, the web3 depedencies (ie web3-bzz) were correctly installed at the same level as web3.
However, this also introduced a new dependency issue in that web3-providers-ws required and depended on the websocket package at a specific github commit and was causing the same issue with websocket being installed at `node_modules/web3-providers-ws/node_modules/websocket`. Removing the web3-providers-ws dependency on websocket and replacing with version 1.0.25 requirement brought the websocket package back to the same level as web3.