There are three main derivation paths, and any hardware wallet is capable of generating addresses under any or all 3 simultaneously. The addresses generated are entirely separate, and so any bitcoin visible under one derivation path will not show up under a different derivation path. It is entirely normal, therefore, that the balance of your m/44' addresses will be zero despite depositing coins to your m/49' addresses.
The three different derivation paths are as follows:
m/44'/0'/0'/0/0 - P2PKH addresses, also known as "legacy" addresses, which start with a "1"
m/49'/0'/0'/0/0 - P2SH-P2WPKH addresses, also known as "nested segwit" addresses, which start with a "3"
m/84'/0'/0'/0/0 - P2WPKH addresses, also known as "native segwit" or "bech32" addresses, which start with "bc1"
Using your KeepKey with ShapeShift will always use the m/49' derivation path, and therefore always generate nested segwit addresses starting with "3", while the Chrome App will always use the m/44' derivation path, and therefore always generate legacy addresses starting with "1". This is explain in their post here:
https://medium.com/shapeshift-stories/segwit-enabled-for-keepkey-746c914a37d9. As I mentioned above, these two sets of addresses are entirely separate.
If you want to use a single piece of software to interact with all your addresses (including native segwit), then you could look in to using your KeepKey with a wallet such as Electrum. There are instructions on doing so here:
https://keepkey.zendesk.com/hc/en-us/articles/360001453430-Electrum-Integration-with-KeepKey
Edit:
Shouldn't that be p2wpkh? Is that a typo, or have I been mistaken?
Typo. Fixed, thanks.