I am sure there must be a way of doing that but it has to be lossless encoding. Unlike Coleman's scheme.
The only way you can avoid entropy loss with a deck is to shuffle it, choose one card, put it back, shuffle again, and then repeat it for X times. Shuffling, and letting the entropy be equal with the series of cards reduces entropy, as said above.
Taking the Sha256 hash of the cards as a string is kind of like pushing the problem into the hash function.
If x is not a cryptographically secure pseudo-random number, then SHA256(x) is not either.
There are 2^96 more bitcoin private keys than addresses.
This is not true. Addresses can have various types. There's legacy, segwit native, segwit nested, taproot. Native SegWit multi-sig addresses are 256 bits, for example. Secondly, messing up with private keys is prone to introduce problems. I know no expert who suggests that 225 bits, in a 256-bit elliptic curve, are cryptographically secure enough.