고맙긴, 부럽긴, etc are subtle, nuanced phrases that are hard to explain.
So this will be a long winded post :-)
Structurally, 고맙긴 is a contraction of 고맙기는.
고맙기는 = 고맙다 (grateful) + 기는 (connective form)
The connective form -기는 has the sense of focusing attention (narrowing the scope) on something.
For example:
1) 춥다 - It's cold. (simple, no special nuance)
2) 춥기는 춥다. (or 춥기는 하다) - It's indeed cold (...).
춥기는 above has the nuance that "it is cold (but...)", that is, it implies the speaker is trying to add something.
In the example the same adjective followed it - so it's like "It is cold, yeah".
Another example: 춥기는 춥지만 좋다. It's cold alright, but I (still) feel good.
So "-기는" has the function of introducing a subject first, to say something else.
3) 춥기는 뭐가 추워? - "Cold? Is it really?" or "Cold? Do you call this cold?" ( rhetorical)
It is using the same 춥기는 but now saying something strongly contradictory after it.
뭐가 추워 is literally "What is cold about it?" but in fact means "It is not really cold".
This is the crux of "-기는" - say something acknowledging it, only to say something else, usually more important or contradictory.
Now, "고맙긴" by itself is an incomplete form.
It actually implies "고맙긴 뭐가 고마워" but everyone understands it just by 고맙긴.
고맙긴 뭐가 고마워 (?) is the same as #3 above. It is a rhetorical question.
The speaker is essentially saying "you are welcome" in a rhetorical way, that "you don't need to mention such a small thing".
So, -긴/-기는 sort of sets it up first for the main clause to follow.
But surprisingly, for many common phrases like 고맙긴, the main clause is left unsaid because everyone already understands it.
(To be Continued)