Why does Bagging or Boosting algorithm give better accuracy than basic Algorithms in small datasets?
SVMs finds a boundary to divide the data between the two classes, and the rule of thumb is to use SVMs for binary classification problems. Typically, when you have linear dependencies SVMs performs better than random forest since there is a distance to measure. But random forest performs better with categorical values / non-linear dependencies. Random forest does benefit from more data, but nature of data even in small data-sets matters. 

Logistic regression follows similar logic, if your underlying relation is linear in nature then it probably perform better than Random Forest.