End to end bitcoin transaction flow
Broadly correct.  A few minor details aren't right.
#1. Private keys are simply 256 bit numbers.  They can be created by a random process or, in modern wallets, as part of a Hierarchical Deterministic sequence in which each key is generated in a repeatable way from a seed.  See https://learnmeabitcoin.com/technical/hd-wallets.  Also, the wallet address is not the public key itself - though it is derived from it.  The site linked above explains this too.
#3. A transaction explicitly refers to previous transactions - and it is these which are checked for sufficient funds (not &quot;the whole blockchain&quot;).  The new transaction will also deal with any excess funds.