I agree that SegWit allows for a greater number of transactions in a block, but I don't think it is the most optimal way to achieve this. I am not sure how serious other problems that SegWit "fixes" really are for Bitcoin, especially malleability
Segwit introduces a lot of other changes as well. It makes the sighashing linear instead of quadratic. Additionally the sighashing includes additional information that helps with cold storage and hardware wallets which are not connected to the internet. This allows those offline wallets to also verify transactions before signing, something that hardware wallet vendors (at least 1 that I know of) have indicated is something that the want.
Wallet software is being changed to implement SegWit because the creators of such software believe that SegWit will likely be implemented, not necessarily because they believe SegWit is what is best for Bitcoin. If it was apparent that Bitcoin was about to HF to have a maximum block size of 2 MB, then wallet providers would likely also be in the process of upgrading their software to support this.
While that is true, there are also many wallet vendors who do also believe that segwit is the way to go. In fact, those that don't think segwit is best don't need to implement segwit (and probably aren't going to).
My understanding is that if a node does not upgrade, then it does not have a way to validate that a transaction is valid (due to being unable to validate the transactions signature), and does not have any way to validate that a block that contains one or more SegWit transactions is valid. Am I right about this, or is this not accurate?
If the above is accurate, then I think you are using a very specific definition of "backwards compatible" to make your statement.
No, you are incorrect. Non-upgraded nodes do not suddenly just stop validating transactions and are suddenly unable to validate transactions. They still fully validate all transactions and blocks to the best of their ability. This means that transaction hashes are still checked, the merkle root is still checked, signatures of legacy transactions are checked, inputs and referenced outpoints are checked, etc. Non-upgraded nodes still check and validate nearly everything in a segwit transaction. The only thing that they are unable to do is to check the signatures for segwit transactions. In that case, the wallet relies on miners on having done so and it waits for confirmations for segwit transactions before accepting them. This is no different from other soft forks.