Boris Johnson called ‘liar’ in Buckingham Palace stunt