Only a subset of reflection is actually AoT safe, and you can run into issues like "the method you wanted to call wasn't statically referenced anywhere, so there is no compiled implementation of it".
AOT doesn't support generating new executable code at runtime (Reflection.Emit), like you can do in JIT mode.