Let's say I have the domain example.com using the name servers dns1.example.co.uk and dns2.example.co.uk. If I've understood it correctly, this means additional lookups since the .com doesn't contain glue records for domains on other TLDs. In practice, is this a problem? Does it make lookups noticeably slower?
No.
No.
It simple will not matter.
It is not a problem per se, you should just make sure not to create loops: if
domain1.example
hasns1.domain2.example
andns2.domain2.example
, having at the same time fordomain2.example
nameserversns1.domain1.example
andns2.domain1.example
is probably not a good idea (and same for longer chains). Of course it rarely happens like that voluntarily (but it does happen), more like after various changes you come to this situation.As for making things slower, none will really see the difference because DNS servers caches results.
However it makes a difference "trust-wise": it means you need to trust an aditionnal organisation (the one handling the other TLD) and of course the owner of the domain name used by the nameservers. This has all sorts of non-technical consequences. This is specifically to be taken into account for DNSSEC. If it is available in one TLD but not in another, you may fail to have a proper 100% trust chain.