Там дело скорее не в типах, а в том что языки которые мы относим к динамическим все работают через исполнение интерпретированного байткода в VM, выделяют память на хипе, не имеют доступ к стеку и почти все вызовы в них вынуждены быть виртуальными
Неинтерпетированные языки с динамической типизацией это языки с хинтам или промежуточной компиляцией типа Carp