AOT is a little fussy in real-world usage particularly for things like reflection. You can probably force it to work but it may make your code much uglier.
Span<T> is more important for performance TBH JIT warmup isn't a huge issue for a long-running process
With UnsafeAccessor you can often avoid reflection.
AI agents seem fairly good at generating source generators so there doesn't seem to be a reason to not use them.