Why not? You deposit coins by sending them to stablecoin sidechain address.
Because
mainchain is not the same thing as
sidechain and even the name is telling you that.
Sidechains can have numerous bugs and issues unrelated to bitcoin that can result in losing value of stable coins that are not stable anyway with non-stop inflation and printing of fiat currencies.
At least Omni Layer is not a sidechain. It is a software layer for the mainchain, i.e. it uses OP_RETURN main chain transactions to transfer "coloured coins" which can be any type of tokens, from securities up to centralized stablecoins (like Tether). Basically an Omni client is an extension to a Bitcoin client which is capable to read and validate this data, but it doesn't build a "sidechain", like Liquid/Drivechain do.
Of course that layer can have bugs, but it's unlikely at this point (Omni exists since 2013 or 2014) that these are concerning for the main operations (issuing, sending and receiving tokens).
However an algorithmic stablecoin should be more difficult to build on the Bitcoin chain, although I don't rule it out completely that it's possible (maybe with Counterparty, see below). It would need probably a turing complete script language.
What is the best smart contract language for the BTC main chain?
Basically the Bitcoin "core" protocol supports only
Bitcoin Script, which is not Turing complete, but there are possible simplifications and variations of it, like
Simplicity (which is still not supported though). The "layers" which extend Bitcoin with OP_RETURN transactions can have more elaborate smart contract languages, although these can not handle Bitcoins, only their tokens (so a smart contract can't "hold" Bitcoins as collateral, for example). For this reason, most of these layers have an own helper currency for some basic operations.
Counterparty had once a project to create a Turing complete smart contract language compatible with Solidity (Ethereum's main smart contract language), but they're not very active currently and I don't know if they succeeded (Edit: according to
this page, it seems they have abandoned the project, or are working on an alternative).