Charities fear London mayor has diverted £5.3m of government funds pledged to rough sleepers to other unspecified purposes