what are the differences between a temporary fork, a chain reorganization, a soft fork and a hard fork?
While the two terms are related, a temporary fork and a chain reorganization are not equivalent: The former is a state, the latter a process.
The situation itself is a temporary fork: at times two miners discover a valid block at almost the same point of time and for a short period, the network sees two competing chain tips. A temporary fork occurs when there's a timing delay in the network and nodes temporarily choose to follow different blocks.
A node will perform a chain reorg to correct that situation: when a new block gets mined on top of one of those two chains, that branch becomes the longer one (more accumulated proof of work). The nodes which were following the other (now shorter) chain switch over, dropping the orphaned block and re-organizing their state to follow the winning chain. Therefore, the reorg is not the fork itself, but rather the action taken by a node to react to a fork.
This is completely different from a soft fork or hard fork, which bitbollo has described well, those are permanent protocol rule changes, not accidental timing issues.
Can Fork transactions be reversed?
Only if they were part of the losing/orphaned block. If a transaction's block got dropped as a result of a reorg, then it goes back into the mempool and is likely to be picked up again in upcoming blocks, unless it conflicts with another transaction confirmed on the winning chain. As soon as a transaction has multiple confirmations, it becomes highly unlikely that it will be reversed, that is why the higher the confirmations, the safer the transaction is.