I'm wondering if there is any source that keeps track of versions connected in a way I could see?
https://bitnodes.io/dashboard/#user-agentsI've come across mentions from Dashjr about tens of thousands more clients running but not connected in a way we could reach them.
If you have a server, then your node can be reached from the outside. But if you have just a regular connection via some ISP, then you probably share your IP with thousands of people. And then, you cannot "just open a port in your router", because it will be opened in your local WiFi network, but nowhere else. Usually, you won't run a server from your home, by using just IPv4. And a large part of the Internet is still running on that, and this is not going to change soon, for many reasons.
Could these also be very different versions of Core? And do they count at all then?
If you are running some well-connected node, then it can be seen in some global statistics. Also, nodes used by developers are placed in the source code as initial seeders. So, the answer to your question is quite simple: you run a node, you accept some incoming connections, and then you can get some statistics. If some node can connect to you, but you cannot connect to them, then it is probably a regular client, not located on any VPS or anything like that. Which usually means, that this particular user is just running Bitcoin Core from some home computer, with standard Internet settings, without any servers, and additional services like HTTP or SMTP. And there are more such operators, than those, who are willing to invest time and money, to buy some VPS, and setup a node, which can accept incoming connections, and be online 24/7.
If you were to guess, adjusting for modified versions, what would you think is a more accurate client share of Bitcoin Core?
I don't know. The last time I was running a vanilla, unmodified Bitcoin Core, was probably something around 2020. Since then, I always use slightly tweaked version of Core, but I don't change User Agent into "special version, made by vjudeu" or anything like that. It just has those ".99" version endings, indicating that it was compiled from source code, usually from the master branch, also with some pull requests merged, and that's it.
Isn't this how many of the clients in link above started out though?
You are in a different position, if there is no competition. When Bitcoin was released, back in 2009, Satoshi didn't have to think about "other clients" at that time. Also, he didn't have to think about "altcoins" at all, because there was no other chains. The traffic on the main chain was so low, that nobody really needed to compete with what already existed.
Today, the whole situation is different. If someone is going to release a new client, then it looks like trying to create another operating system, capable of handling EXE format, and competing with Microsoft. It is of course possible, but unlikely to succeed. There are projects like Wine or ReactOS, which are developed for years, and can handle old files, sometimes better than new OSes, which dropped some legacy code, but that's it. You don't see that many stores, where you can buy "a new laptop with ReactOS" or "a new gaming laptop with Linux and Wine".
let's say, I'm just thinking out loud, a client twice as easy to use than Core
It depends, what do you want to create. There are still a lot of features, which are already present, but which have less support, than they could have. One of those examples is related to sighashes. You still cannot make a new transaction, see it like you can do so in block explorers, and pick custom sighashes, by having highlighted those parts of the transaction, which are going to be signed. And in the same way, you don't have a nice, built-in GUI for the Script, where you could execute contracts step-by-step, and design them from graphical interface. You cannot put "OP_2 OP_SHA256", click "run", and get "OP_PUSH_32 dbc1b4c900ffe48d575b5da5c638040125f65db0fe3e24494b76ea986457d986" as a result.
Also, if you want to do something unusual, then you are going to write some new code anyway. And then, if it works in Core, then you can usually move forward, and just use it. But if you have another client, then you usually have to test both: your client, and Core, just to make sure, that your client is still compatible.
Anyway, Bitcoin is still more software-developer-friendly, than user-friendly. And again, it is not going to change soon. Recently, I saw that for example in testnet3 and testnet4: if you can write custom code, then you are in a much better position, than other miners. For example: the choice between ASIC-based and CPU-based mining is built into test networks, by picking between two difficulties in your block headers. But most users don't even know, that the consensus allow them to make that choice in the first place, and they think they have to sit idle for 20 minutes.