Flávio, sugestão de correção nesta aula:
Da forma como você implementou os ifs para tratar o primeiro e o último elementos, o if do último (botão Cancel) é executado independente de ter shift ou não. Ou seja, não é possível voltar dele para o submit com shift+tab. Faltou um !event.shiftKey.
Então no lugar de:
if(event.shiftKey && document.activeElement === this.firstFocusableElement){
this.lastFocusableElement.focus();
event.preventDefault();
} else if(document.activeElement === this.lastFocusableElement){
this.firstFocusableElement.focus();
event.preventDefault();
}
deveria ser
if(event.shiftKey && document.activeElement === this.firstFocusableElement){
this.lastFocusableElement.focus();
event.preventDefault();
} else if(!event.shiftKey && document.activeElement === this.lastFocusableElement){
this.firstFocusableElement.focus();
event.preventDefault();
}