1) So long as you don't edit the block template returned (i.e. you don't add a load more data or change the transactions included),
expected_reward is what you would receive if you mined a block based on that template.
If you added or removed transactions, the fees collected would obviously change. If you changed the overall size of the block (added more data to extra for example), the reward calculation could be affected (e.g. the penalty fee could kick-in).
2) The links you referenced are both outdated (2017). Please see this answer, which references newer information.