With GNU awk 4.1.3 in bash on cygwin:
$ cat tst.sh
#!/bin/awk -f
BEGIN { print "Executing:", ENVIRON["_"] }
$ ./tst.sh
Executing: ./tst.sh
I don't know how portable that is. As always, though, I wouldn't execute an awk script using a shebang in a shell script as it just robs you of possible functionality. Keep it simple and just do this instead:
$ cat tst2.sh
awk -v cmd="$0" '
BEGIN { print "Executing:", cmd }
' "$@"
$ ./tst2.sh
Executing: ./tst2.sh
That last will work with any modern awk in any shell on any platform.