I'm bored before hitting the sack, on the toilet or have nothing better to do so I read your conclusions from the end. Use this as practice for convincing people without walls of text. I have no deep love for either bash or powershell, they're just useful tools for automation.
File system operations are one of the largest bottlenecks in most tasks, beaten out only by network operations
If the bottleneck is accessing files then it doesn't really matter if you write it in Powershell or hand-code it in C
When using those shells I have never had filesystem operations as a bottleneck. I have never had to process so much data at once that an nvme was too slow to keep up. I don't use tens of gigs sized txt files for my notes and I don't handle my media collection with shell scripts on either Windows or Linux. There's much better tools for that sort of thing that I don't have to make myself.
If you have such a large amount of files that just reading them is your bottleneck, do you even have enough RAM to load them all in memory? Won't you have to slow down a bit and do processing for all that large amount of data anyway? I'm actually very curious what situation you've found your nvme to be too slow for your needs.
You know where people usually have so many files? A media collection, but then you likely do post processing or metadata gathering, which are both going to slow you down a lot more than the filesystem operations, or some sort of knowledgebase for which you'll probably use some form of database so you save even more operations by not having to read the files at all. Elasticsearch is powering tube archivist and there's people with millions of videos who can search through all that metadata(including an insane amount of comments) almost instantly to find what they need.
Also, your C code will be fully compiled to machine code though, which is always an advantage if maximum performance is what you want. If you also want others to use the software, better use an actual language.
Seeing as you are unwilling to compare Powershell with Bash
I'm happy to talk bash vs powershell, you just write way too long for the silliest of things and bring up unrealistic arguments. You had such a long post to conclude that "this bash code processes the files one by one and executes an extra redundant filesystem call with stat". See what I mean? I reduced that to a single sentence, and it's essentially what you were arguing.
You could avoid the stat by saving the timestamp from find(or locate/mlocate for even more performance) in an associative array for each file, then going through the array and run grep on them. Based on the result display their time, e.g with timestamp["/path/to/file"] and it would be basically identical to the powershell version in terms of number of operations.
You really want the files in memory for whatever reason so you process them in bulk only after they are all loaded? You can do that. Have another associative array with contents["/path/to/file"] = $(cat "/path/to/file"), then go through that array, do your searches, and display the timestamp from the other associative array. Since find gives you the same metadata as powershell's object, the only other file operation is cat, then you can search in memory through the entire array
Powershell has more complex things like objects and methods to work with them, but they're not just magically there, there's still code behind them that does this. You said somewhere about mtime being bad because "but how do I know how many days are in a month", well in PowerShell you run a function that's already there. You could just write this same function in bash, or C and run that with bash, and boom you have identical functionality! Something is missing? You can make it yourself, that's the beauty of Linux, it's all open and if you really want to you can change anything.
I'd have a much easier time agreeing with you if there was an actual practical example rather than just these theoretical low level things. The truth is that the best shell/language is the one you know and that can be used for your purposes/on the machines you need them to be used. If you can find a problem, someone likely already found it before you and found a solution as well.
what your point of contention with in comparison to "an actual programming language
I'm not here to give any big own to powershell. Like bash or any other tools widely used today, it's a solid tool that can do quite a lot of things. However, if you're already using a programming language daily it's much easier to not have to use hyphens for function names, switching to -gt instead of >, Where-Object { condition(also having to use $_) } instead of object.Where(condition) and a lot of these tiny syntactical differences that make it different from programming languages.