Which is the difference between the Full content and the Default mode? The FieldUI uses the default as default value for entity form/view displays. But the EntityViewBuilderInterface uses the full as default value.

Also template_preprocess_taxonomy_term() uses the full value to find out if the current page is taxonomy term.

So which one should I look for to know if "default" mode is being used? Should I be checking both values?

I think this applies to D7 too but I'm working with D8 so I'm looking for information within this context.
The argument for EntityViewBuilderInterface is $view_mode.

View displays and view modes are not the same thing.

view_mode can basically be anything you want, you can even make up them on the fly.

What the field formatter/widget system then does is look up if there is a form/view display with for that view mode. If that is the case, that is used.  If not, then it falls back to default.

The view/form modes that you set up in the UI are basically only there to tell field UI that it can create form/view displays for them (the checkboxes at the bottom of the default display page). They are never used at runtime. 

So, when you are going to node/1, there is by default no display for full, so it falls back to default. Whereas teaser does have one, so it uses different things. However, you can also enable a form display for full and then it will no longer use default.