There's no connection between mt1's and mt2's meth method. It's not a static method. synchronized void meth() guarantess only that the meth calls for the given instance will be synchronized.
synchronized method doesnt allow another thread enter to the method through the same object. In your case t1 and t2 enters the method meth() through different objects mt1 and mt2. So the lock doesnt prevent t2 entering meth() while t1 executing meth() or vice versa.