Something I did not mention before: The application I was trying to attach to was the dotnet executable. (The crash is occurring inside a p/invoke call.)
I tried making a tiny a.out, and lldb could attach to that fine. The problem is dotnet. I can imagine that being an "odd" executable in various ways (although file insists it's ARM64). I wonder if there's some special process for running C# programs in a C debugger on Mac.