If that kind of stuff is on the able you can also use boring 64bit integer keys and encrypt those (e.g. [1]). Which in the end is just a better thought out version of what the article author did.
UUIDv47 might have a space if you need keys generated on multiple backend servers without synchronization. But it feels very niche to me.