The definition of 'node' is a little vague. I also consider bip158 ('neutrino') clients to be nodes, since they can independently verify their own transactions. But they don't really engage in stuff like forwarding unconfirmed transactions.
You can also run bitcoin core in pruned mode. In that case you drop block data that is irrelevant to you after verifying it, but other than that, you interact with the network in the same way that a full node would.