Yeah, the real answer is "something is less good than you are describing." Ask a senior engineer you've worked with in the past to take a look at your job posting and give you some honest feedback about what the problem is.
There are yellow flags in your post, but it's unclear whether they are problems without details. For example:
> the work requires a reasonably deep understanding of the underlying platforms which a lot of people seem to dislike.
Why?
> I'm wondering if the work being a higher percentage non-code is what's causing us trouble
Probably.
> Benefits and salary are good
Are you sure?
Plus, where are people dropping out of your pipeline? Is it early, suggesting that the job posting isn't great, or is it later, so part of the discussion process could be bad?
> the work requires a reasonably deep understanding of the underlying platforms which a lot of people seem to dislike.
Why?
Willing to bet the 'dislike' is "we have lots of mismashed, disorganized stacks, and expect seniors to have 20 years experience with all of them." coupled with "Even though some tools/stacks/etc have only been around 3 years."
And... even though a senior can pick up a stack in a few days, the expectation is to find someone already skilled.
....
Here's the truth. When I walk onto a new jobsite, I typically don't even know the tech. I've worked for EDA companies, government departments, startups, geospatial corps, all sorts of new and antiquated stacks and tech.
I'm a senior, and I can walk in, and become the subject expert extremely fast. I do so all the time, it's why people hire me.
That's what being an actual senior means. Loads of market experience, which makes that learning curve flatten.
$5 says the 'dislike' is an expectation that stuff can't be learned fast. I'd scoff.
Seriously. I've been doing Linux Systems work for over 20 years. I've written code at one level or another on over 15 languages (scripting, macro and compiled) plus various forms of markdown. 90% of it I learned on the job, even on the fly. I regularly go in to a place ostensibly for one thing, and end up their SME on something else.
Do I remember all the details of every language and stack that I've touched? Hell no! But there are only so many ways to do a for loop or if-then set up. There are only a few flavors of regex out there. Anything more I just look it up. Part of being a senior is knowing what to look up.
What makes me a senior is my ability to learn on the fly, then become an SME, on whatever obscure stack you have. I will never know all of it coming in - there's just too much stuff out there. But there's very little that is so bad that I can't work with it in a few weeks.
But I've been rejected from jobs as "not technical enough" because I didn't have recent, full time, on the tip of my brain, coding to the algorithm and obscure function level in their preferred language "X". It just meant I hadn't coded in "X" in the last month. They though the fact that I didn't do obscure fanciness without looking things up meant I didn't know anything. I wanted to scream and say "No, damnit, I just haven't coded in that for two years, I don't have an eidetic memory."
This is part of why I hate whiteboards and take home crap. I do poorly at them, then get lowballed by smug jerks who think that defines what I know and have done.
There are yellow flags in your post, but it's unclear whether they are problems without details. For example:
> the work requires a reasonably deep understanding of the underlying platforms which a lot of people seem to dislike.
Why?
> I'm wondering if the work being a higher percentage non-code is what's causing us trouble
Probably.
> Benefits and salary are good
Are you sure?
Plus, where are people dropping out of your pipeline? Is it early, suggesting that the job posting isn't great, or is it later, so part of the discussion process could be bad?