John Swinney has been branded 'incoherent' after saying he was ramping up spending on benefits to cut spending on them.