What do the terms "front-end" and "back-end" refer to in this article?
I do not think these are formally defined.

The distinction is just to facilitate discussion of the NN architecture: e.g., you may have a few convolutional layers with pooling as a front-end, and a different architecture as a back-end (in a text-book architecture, just a fully-connected layer. But to get wild, maybe LSTM? To really get wild, BERT?).

In the end (no pun intended), computers do not care if a layer is seen by humans as a front-end or a back-end.