Selfish Mining: stale or orphan?
Don't we actually mean stale blocks when talking in context of selfish mining?


You always mean stale blocks, never orphan ones. 

An orphan block is one that you can not connect to your local chain because you are missing a parent, in the current version of the software you can never get into the situation where this happens. When most people are talking about an "orphan block" they mean "stale block", the syncing behavior is not something users ever come into contact with. 

This misnomer comes from when users mined with bitcoin-qt, when a block became stale the transaction paying the coinbase output into their wallet would gain the tag "orphaned". People associated the term "orphan transaction" with "orphan block" incorrectly, not helped by the fact that many popular websites also use this term to describe stale blocks as well. 




  Furthermore I'd love to know if and which of stale or orphaned blocks are pruned from history? 


They are retained on disk in case they are used again in the future. There is no process for removing stale blocks from disk specifically.