Tiered JITs are meant to allow slower and more aggressive optimizations to be done on truly hot code. However, you're right in that they still cannot spend as much time or resources as an AOT compiler.
This is nontrivial because lots of optimizations depend on class load ordering and runtime profile information.