Правильно ли я понимаю порядок выполнения NodeJS async?
Не правильно понимаете. Если функции loadSettings и другие асинхронные, а они конечно асинхронные по своему смыслу, ведь это внешние запросы из базы или с веника, то писать нужно примерно так:async.parallel([
    function (callback) {
        App.loadSettings(callback);
    },
    function (callback) {
        App.loadData(callback);
    },
    function(callback) {
        App.loadData2(callback);
    },
]);
И когда они завершаются, они должны уведомлять async вызовом этого самого callback
Ваш код должен выглядеть так:console.log('start');

async.parallel([
    function (callback) {
        App.loadSettings(callback);
    },
    function (callback) {
        App.loadData(callback);
    },
    function(callback) {
        App.loadData2(callback);
    }
], function(err, results) {
    console.log('end', err ? err : results);
});
Или так:console.log('start');

async.parallel([
    async.apply(App.loadSettings),
    async.apply(App.loadData),
    async.apply(App.loadData2)
], function(err, results) {
    console.log('end', err ? err : results);
});