I always found this particular Recurse Center rule strange. I understand how not <i>feigning</i> surprise can be a good rule, as in you should not pretend to be surprised when you genuinely aren't. (e.g. a web front-end dev saying "I don't know how to recompile the kernel" - "What, you don't know ?!?" - when it's clear that there's no actual expectation of knowing, it's just an attempt to self-aggrandize or put the other person down). But if it's a <i>true</i>, <i>genuine</i> surprise, then there is no feigning! If a web front-end dev says "I've never heard of CSS", it's genuinely surprising, and I think it's ok to express that. It's also useful to the recipient to hear this genuine surprise, because it's a strong signal that they're missing something important, a much stronger signal than if someone just said in a calm voice "you know, CSS is one of the most important things to learn for web front-end development". But that's not how Recurse Center means it - when they say "no feigning surprise" they actually mean "not showing surprise, no matter how genuine". I think it's generally best to be open in communicating with others, and neither feign something that isn't there nor hide something that actually is there.
I don't think most recipients would be able to tell the difference between a put down or self aggrandizing feigned surprise and genuine surprise reliably, so the effect in terms of discouraging them is probably at least similar. It's at least a very subtle difference in social cues even if it's genuine.