I threw all of the above plus CNNs at MNIST problem and boosted decision trees outperformed CNNs.
Granted if I tuned both perfectly, CNNs probably would have outperformed but with defaults and a small amount of parameter search, boosting worked best.