если есть метод toLowerCase, то это уже строка, строку в строку через toString преобразовывать бессмысленно
Я бы добавил в jQuery.attr проверку
elem.constructor.toString().indexOf('SVG') == 9 // 'function SVG...'
рядом с nType !== 1 и isXMLDoc
или там еще есть места, где арибуты в lowercase переделываются?