I'm sure there are others, but this is one I tested and can confirm that works for Ledger and Trezor: https://www.airswap.io/trade
It's an ETH/tokens exchange. You connect your Ledger, put how much tokens you want to buy, confirm in the Ledger to send the ETH, and receive the tokens in the same address. Quick and secure.
Thanks. I was curious is it possible to somehow integrate Trezor/Ledger with centralised exchanged to make it lets call it semi-centralised. Where for example exchange keeps your FIAT however does not keep your bitcoins or ethers. Currently there are a lot of DEX but they are based on smart contracts (ETH/NEO) however it looks like noone found a solution to integrate exchange with different types of blockchains.
Wait, what do you mean in holding of fiat? When you receive btc, it's automatically send to their adress and do whatever they want but give you fixed fiat on your balance?