It has been a curious couple of weeks in the life of John McDonnell. On the morning after the budget, the shadow chancellor went on the Today programme and was asked whether Labour would reverse the income tax cuts announced by Philip Hammond the previous day. McDonnell said he wouldn’t and – for once in his life – found himself under fire for not being leftwing enough.

McDonnell has had something of an image makeover in the past year, coming over more bank manager than the revolutionary firebrand dedicated to the overthrow of capitalism. Like one of his predecessors in the job, John Smith, he has made a point of touring the City to explain Labour’s economic policy to big finance.

But for some Labour MPs, McDonnell’s stance on tax was a step too far, because the better-off will be the main beneficiaries of Hammond’s decision to raise the income tax personal allowance and the threshold at which taxpayers start to pay the higher 40% rate to £12,500 and £50,000 respectively.

Meeting the Conservative party’s 2015 manifesto pledges a year early will cost almost £3bn next year – and according to McDonnell’s critics the money could be much better spent: on schools, on policing, on reversing the fresh round of welfare cuts coming into force next April, and on any other bit of the public sector wilting after eight years of austerity.

That is undoubtedly true. Nye Bevan once said that the language of priorities is the religion of socialism, and McDonnell has backed budget measures that will cut income tax by £130 a year for someone earning £12,500 a year and by £860 a year for someone earning £50,000. That sticks in the craw for Labour MPs who represent constituencies with large numbers of low-paid workers. For them, it is simply the wrong priority.

Faced with this criticism, McDonnell had three choices. The first was to change tack and oppose the tax cut when the budget measures are voted on in parliament. The second was to stick to his line but go quiet on the subject in the hope that the fuss would eventually blow over. The third was to double down and go on the attack.

Over the next few days, it will become clear that McDonnell is not going to back off or lie doggo. He and the rest of the shadow Treasury team intend to go on the offensive over tax.

The thinking is as follows. In election after election, Labour has been vulnerable to the charge that its tax plans will not just squeeze the rich but those on middle and lower incomes as well. The classic example came in 1992, when the Conservatives won despite having presided over a series of economic disasters in the previous five years: a doubling of interest rates to 15%; nearly 3 million people unemployed; record bankruptcies; record home repossessions; crashing house prices.

John Major’s pitch to voters was simple. If you think life has been bad under us, wait until Neil Kinnock becomes prime minister. Interest rates will go up and the average taxpayer will be hit for more than £1,000 a year to pay for Labour’s spending plans.

John Smith sought to counter a blanket “Labour’s tax bombshell” propaganda campaign by publishing a fully costed shadow budget at the start of the election campaign, which showed that eight out of 10 voters would be better off as a result of the party’s plans.

It made no difference to that election, but lessons were learned. Five years later, Tony Blair and Gordon Brown insisted that there should be no hostages to fortune. Labour went into the 1997 election pledging not to raise either the basic or top rate of income tax, and to keep to the extremely tight spending plans made by Major’s chancellor Ken Clarke. McDonnell has been a long and vociferous critic of New Labour, but he would still accept that acting early and decisively meant the Tories could never mount a convincing repeat of the tax bombshell campaign.

The contrast between defeat in 1992 and landslide victory in 1997 elections perhaps explains why McDonnell has said the budget tax cuts are here to stay. Hammond set a trap for Labour with his tax cuts and it would have been easy enough to walk into it.

Polls that show the public willing to pay more tax to pay for higher public spending are not always to be trusted. What voters really want is to have better public services with the better off paying for them. And most people define the better off as somebody earning a bit more than they are themselves.

Sign up to the daily Business Today email or follow Guardian Business on Twitter at @BusinessDesk

McDonnell’s tax proposals chime with this. Sure, he is pledging not to reverse Hammond’s increase to the personal allowance and the higher rate threshold. But he is also planning to increase income tax for the top 5%, to reverse most of the cuts in corporation tax since 2010 and to impose a financial transactions tax on the City. Both spending and taxes would go up if Labour wins the next election.

In that respect, the approach clearly differs from that of New Labour in 1997 and in most of the party’s 13 years in power thereafter, when Blair and Brown engaged in redistribution on the quiet, recycling profits from the financial sector into tax credits for the working poor. Only when the financial crisis erupted was the top rate of tax raised to 50%.

McDonnell’s tax plans are bolder and more openly redistributive, but to implement them Labour first needs to win an election. The shadow chancellor thinks to do so it needs to avoid tax bombshells. He is almost certainly right about that.