はい、部分文字列です。Math.min を実行する必要はありません。文字列の長さよりも長いインデックスを持つ部分文字列は、元の長さで終了します。
しかし!
document.getElementById("foo").innerHTML = "<a href='" + pathname +"'>" + pathname +"</a>"
これは間違いです。document.referrer にアポストロフィが含まれていたら? または、HTML で特別な意味を持つその他のさまざまな文字。最悪の場合、リファラーの攻撃者コードが JavaScript をページに挿入する可能性があります。これは XSS セキュリティ ホールです。
これを防ぐためにパス名の文字を手動でエスケープすることは可能ですが、少し面倒です。innerHTML 文字列をいじるよりも、DOM メソッドを使用した方がよいでしょう。
if (document.referrer) {
var trimmed= document.referrer.substring(0, 64);
var link= document.createElement('a');
link.href= document.referrer;
link.appendChild(document.createTextNode(trimmed));
document.getElementById('foo').appendChild(link);
}