What I think you might be getting at is something like the following: One might get the bright idea of building a lot of complexity into a given universal Turing machine. Let's say that we make it so that the quicksort algorithm only requires a few bits. Hey, maybe there are other algorithms we can similarly build in as well! One problem is that the more we do this, the fewer short codes there are to map to them. All the other operations start to pay the price. It's like trying to get everyone rich by rigging the lottery for each person in town. Each time someone gains big, many more lose a little. It's possible that some restrictions could be placed on universality, so that no nontrivial algorithms have a lot of mutual information with a purported universal machine, but I don't think that is necessary for the Invariance Theorem.
There just have to be diminishing returns on "cheating"--that is, when universal machines have lots of unnecessary bells and whistles that go beyond being 'Turing complete.' You'll be able to reduce the apparent K-complexity of the code, but unless you handpick your universal machine to do so, you won't know whether a program could be encoded with a deceptively small code because the only way for that to happen is to smuggle some sophisticated algorithms into the given universal machine just for that purpose. Your universal machine is specialized now for making certain kinds of programs really small by allowing many more programs to be much bigger than they need to be for most universal machines.
Looking at it another way, I could write a special version of UnZip that would produce the entire contents of Windows 10 when it "unzips" a special 8-byte long code. But it is not really unpacking information from the input, it would already have almost the entire contents of Windows 10 built-in already. This zipping utility would be substantially larger than comparable unzip utilities, and it would not demonstrate that the K-complexity of Windows 10 is 8 bytes.