The beauty of NDK is not that it offers a ton of APIs (it does not), it's that it's not overcomplicated and lets you reasonably easily incorporate a lot of the same libs you're already using on Linux anyway, and build them pretty much exactly the same as any other Linux lib, with minimal, if any modifications using tried and true Linux toolchains. It took me much less time and effort to get my stuff going under NDK.
PInvoke would do me no good whatsoever, since my UI needs are fairly limited, and my entire pipeline is basically capture, resize, run inference, and display. Running it through extra layers would only slow it down -- something I try very hard not to allow.
Fundamentally, though, my issue is this: Microsoft pretends to support C++ under UWP, yet when you actually take a look at what's being offered, you see that it's a bare minimum and it's hardly used by anyone. A step off the beaten path and you're on your own since it seems no one is actually using this stuff. Or at least no one publishes anything on the internet. APIs are idiosyncratic, documentation is sparse, tools are crashy (XAML editor), and there's nothing on Stack Overflow. Epic fail.