Which is the preferred way to change field content before rendered? I'm working on an existing Drupal 7 module in order to make it work with Drupal 8. And for a peculiar aspect of its operation I'm currently a bit lost.

Th problem is that I must be able to make some changes in content of any text field, everywhere throughout all contents, before they're rendered.

In Drupal 7 I solved it behaving as a formatter, which I "grafted" before any existing formatter.
You can look at this SO post (I didn't know Drupal Answers at this time) to see more precisely how it worked.

After reading a lot of Drupal 8 documentation (which is currently quite messy) I can't yet realize which is the preferred way to achieve what I want.
I noticed some candidates such as the hook_entity_view_alter(), but also services and/or plugins, but keep totally undecided.

So I look for some advices pointing me to the right way.
hook_entity_view_alter() is for altering the render array of an entity, that is coming out of a view mode. It is not for a single field and changes in this hook would have no effect, when using the field alone, for example in a view. Using this hook would be the answer to the question Which is the preferred way to change the display (view mode) of an entity, before it is rendered? 

(When using this hook, don't digg to deep, you can only change the render elements in the top level. Not the referenced objects, they are only to get information, not to change the rendering)

But the question is to change the rendering of a field, you asked "everywhere throughout all contents" For this the right solution is a field formatter, this can be used everywhere in drupal, whenever a field is rendered, no matter if you define a display mode (aka view mode) of an entity or use the field in Views.

To make the picture complete, you can change a field twice while displaying content, first in a field formatter and the second time, when the whole content is build and this build array can be altered in hook_entity_view_alter()

In drupal 8 field formatters are no longer hooks, they are now plugins.

https://api.drupal.org/api/drupal/core!modules!field!field.api.php/group/field_formatter/8

The documentation does not help to setup this plugin. I would copy an example from core and put my own code in it, for example:

core\modules\datetime\src\Plugin\Field\FieldFormatter