This is really interesting! First I thought that it's just because you say "en kock" so it makes sense to say "tjugoen kockar". But, it is actually "ett hus" and you still say "tjugoen hus".
I found a comment about this here. It basically says that "tjugoen", trettioen" etc never are declined.
The only exception is when you're talking about numbers, number of years or something like that. This means that you say "Han är tjugoett år" for example.