Nodes define and police consensus in bitcoin, not miners. Miners have a single choice : mine for bitcoin according to node consensus rules, or don't. That is the only power they have.
in theory. But in practice, if tomorrow fork XYZ comes out and miners decide to mine that fork, instead of the current one, the current one is finished. So, don't they hold all the power in practice ?
No. You completely don't get how it works. Only by mining according to bitcoin consensus rules do they get bitcoin rewards. Their fork relies upon you using their node client in order to give them tokens. If nodes don't switch clients, no one even knows the fork exists.
This entire episode over the past year has demonstrated this again and again. Miners talk a big game, but in the end, they do as they're told.