On your **ajax add to cart success function** you need to add following lines

    //Display error if found after jquery
    var messages = $.cookieStorage.get('mage-messages');
    if (!_.isEmpty(messages)) {
    	customerData.set('messages', {messages: messages});
    	$.cookieStorage.set('mage-messages', '');
    }

I was facing almost same issue and fixed by this small script

And to move notification messages top of the page, please follow this link, this will help you move messages anywhere in your code

> https://magento.stackexchange.com/questions/177528/magento-2-change-message-location