Can this really work in the least or there's a flaw I have not thought of?
I don't think it would work very well.
I don't think a spying SPV server is going to care about any address query of an address that has already received one or more transactions. By the time an address receives a transaction, it will be public knowledge that the address exists.
I think it would be more efficient for a spying SPV server to keep track of unfunded (never used) addresses that receive a transaction after an inquiry is made about the address. So if Bob asks about a particular address that has never been used, that later receives a transaction, there is a very small number of people who would know ahead of time that address will receive a transaction.
The above is possible because SPV nodes will ask about all addresses that have been used plus additional
x addresses (the gap limit).