Personally I think there's very little difference between the 3... perhaps a unique TLD might suggest a more drastically different experience in that it allows for the structure of the entire site to be different - but I doubt most users would be thinking in that much detail.
What's most important in using the url as a signifier is that it's as clear as possible, so using the most easily understood abbreviations for a country would be important (for example living in England I often see /en, /en_uk, co.uk - but can't remember ever seeing /GB, /brit or /england).
But if we're really striving for maximum clarity, I'd probably say relying on the domain name as the main indicator of the fact they have been redirected to a country-specific page might not be the best route.
It would be useful to also include a country flag or a language signifier somewhere on the page, maybe towards the top as it gives the user the opportunity to understand the context of the page before reading through the main content.
I'd also take into account the likelihood of a user wanting to navigate away from the page you have redirected them to.
If this is not likely, it might not be an issue - but as someone who travels quite a bit, I've often been in the situation of trying to get to the version of a website that I'm most comfortable using, and having to battle against being hard-redirected to the local version of the site.
As for SEO, I'd say create a good experience for your users and you'll organically see some positive CTR, bounce and time on page metrics, and that will probably outperform any indexing benefit from subdomains etc...