As soon as the public key is known, the private key can be calculated within a few seconds, we are talking about a 66bit range here and this is possible very quickly with the given hardware and resources.
At first I was thinking, what's the problem to reveal the public key, you still don't have the private key? And you can't easily compute a private key from it's derived public key, can you?. (I only occasionally observe what going on with the Bitcoin puzzles and have no ressources to join them.)
I must say, I have no idea how quick one could find such a "low bit range" private key. I've seen that many of the puzzle transactions that revealed the public key have already been solved and this also with considerably higher bit ranges than where current search stagnates around the 66bit range puzzle.
For this reason, my initial question is whether a large mini-pool could be commissioned with the "direct" and thus hidden insertion of the transaction into the block. This would mean that the transaction would never appear in the mempool and nobody would see the pubkey. Only after the block has been mined and made public would the whole world know the pubkey. Of course, a villain could also act trickily in the large mininpool. But there would be mitigation measures for this and the risk for this type of attack could be kept very low.
This should be possible in theory but to my knowledge pools don't seem to have openly communicated channels for this, but I could be wrong as I never had the need for such side channel approach to pools or miners.
You still have a trust issue. Nothing prevents a pool from abusing your transaction's details to gain advantage of the solved puzzle transaction, except that wouldn't make good crypto press for them. To bash such a malicious pool you'd still need proof that you and only you did find the solution first and your trust was exploited. Interesting dilemma...