Right, I see what is happening.
Support was added only for $gmt(format). When the changes where made to $gmt() in 2010, they applied specifically to $gmt(format), which assumes N is $gmt.
$gmt(N) is simply not catered for, and has never been catered for, in any way. It only returns a value because an error is not being reported. The scripter who requested $gmt(format) wanted just that - an easy way of formatting $gmt.
So, to cater for $gmt(N), what would you like me to assume that N represents? Would you like the N value to be passed to localtime(), gmtime(), offset by timezone and daylight savings? etc.