Fixes STI when 2+ levels deep.

PR #14052 Added a regression where it was only looking for methods in one
level up, So when the method was defined in a 2+ levels up the
inheritance chain, the method was not found as defined.

This is a bit hard to explain, but the regression test added illustrate the issue pretty well.

review @chancancode @rafaelfranca 

This needs to go to master, 4-1 and 4-0

I dont think I should add a CHANGELOG as this is fixing regression. But lemme know if I am wrong.