#1. I think the portion around 'pools' has some issues. While an important part of the mining ecosystem, I do wonder if you're going down a rabbit hole by including them in the first place.
Just for example:
Right now there's an output from pools to Blockchain Providers labeled 'Tx Fee'. Pools don't pay transaction fees to miners - they embody miners. The coinbase transaction is fee-less. If a pool mines to a particular address or script and then later pays out from that, that's grand.. but at that point they're under the Users node.
Similarly, there's a 'Tx Fee' going from Users to Pools. But users of a pool don't really pay a 'Tx Fee'. They're simply withheld a portion of the block reward. Depending on the pool's exact setup, the pool fee could be paid straight from the block reward, meaning there would be an optional loop going from Pools, right back to Pools.
I may be mis-reading the chart, though.
Some general bits: There appears to be a label missing between Users and Blockchain Providers, wherever you use "Money/BTC" perhaps use "Funds" except at the Exchanges which between it and Users should have Bitcoin/Money vs Money/Bitcoin (to signify the exchange). Not entirely sure why there's a connection between Blockchain Providers and Exchanges either.
At this point, I'm not sure I'm even reading the chart right
#2-#4, I'll leave to previous answers. These get asked quite a few times over on reddit, for example. That said, there have been recent musings at least on point #3 in relationship to block sizes, so there may be some new insights.