I'm with you on Brits. This is an American introduction, I suspect. It suits headline writers. 'Britons' does sound old-fashioned and 'British' is not a noun; pedants might object that we are not 'the British', but 'the Britons', just as 'the Spanish' are, correctly, 'the Spaniards'. But the practice of using the adjective as a noun, the noun it describes being understood, is established in English now.
It is not a term of racial abuse, though. The short form of Pakistani has long been used as a derogatory term; it has probably only ever been so used.
The change from England for the UK or Great Britain to Britain has been gradual. 'England expects every man..' was not 'Britain expects...' and older people, in particular, still use England so. To me, 'England' only means the country as part of the UK, and that's how I use 'England' and 'English'.