stackwalk: fix heuristic termination (#57801)
When getting stacktraces on non-X86 platforms, the first frame may not
have been set up yet, incorrectly triggering this bad-frame detection
logic. This should fix the issue of async unwind failing after only
getting 2 frames, if the first frame happens to land in the function
header. This is not normally an issue on X86 or non-signals, but also
causes no expected issues to be the same logic there too.
Fix #52334
After (on arm64-apple-darwin24.3.0):
```
julia> f(1)
Warning: detected a stack overflow; program state may be corrupted, so further execution might be unreliable.
ERROR: StackOverflowError:
Stacktrace:
[1] f(x::Int64)
@ Main ./REPL[3]:1
[2] g(x::Int64)
@ Main ./REPL[4]:1
--- the above 2 lines are repeated 39990 more times ---
[79983] f(x::Int64)
@ Main ./REPL[3]:1
```
n.b. This will not fix and is not related to any issues where profiling
gets only a single stack frame during profiling of syscalls on Apple
AArch64. This fix is specific to the bug where it gets exactly 2 frames.