None of those behaves correctly, i dont know why you are creating object and then ->findFirst it. Just use ::findFirst as static method, if you want documentation just override this method in model and add PHP DOC.
so, the behaviour of 1.3.5 was invalid and it has changed in 2.0?
from my point of view you're doing something the wrong way (calling a static method with a non static call), and you shouldn't (in fact php should not authorize this). So it's not a behavior change, just a side effect (which was good for you in 1.3.5 and now bad in 2.0).