Звучит интересно:
Я же написал "интерфейса". Естесственно, все методы интерфейса должны быть пристёгнуты, никто же не знает, какие методы будут использоваться, а какие нет, на то он и интерфейс. А вот что из огромной библиотеки используют эти методы интерфейса, только это и пристегнётся.
не факт, что на некотором КОМПИЛЯТОРЕ указатель на vmt - первое поле
В каком поле этот vmt - неважно, главное, что указатель на интерфейс - это указатель на это поле, и получив этот указатель вместо Self объект уже сам должен разбираться, где у него данные - выше или ниже, то есть скорректировать указатель до Self. А это, как раз, забота компилятора, умеющего делать интерфейсы.