Groupings and labels are often just vague labels meant to ease communication so don't get hung up on it.
For what purpose are you trying to determine the distinction? Groupings are ultimately arbitrary so without a defined purpose there's no point to trying to group things because you can group anything any way you like. Even if the distinction between two groups is fuzzy, it does not mean the group labels are useless if they ease communication most of the time. This holds true for any kind of grouping or labeling. In reality, things are what they are and don't need to be fall into two clearly different groups or subgroups.
For example, the most general definition embedded systems in general refer to processing that is integrated into a system that performs a rather specific purpose. But more complex embedded systems can have operating systems that run applications, with each application having its own responsibility in the system. If you also remember that general purpose computers exist, then the presence or absence of applications or operating systems cannot be used to identify whether a system is embedded or not.
Things in the real world don't need to fall into the distinct categories that humans make up. There's nothing stopping from some things under one label from overlapping with another labels, or being a subset of another label, or any possible combination of the two.
Fretting over such distinctions can actually be counterproductive when you try and use them. For example, I already outlined how there's partial overlap and subsetting earlier, but if I actually heard someone say "systems programming" I would assume they were talking about an operating systems, device drivers, or other low level system that were NOT part of an embedded system, even though a lot of that could and sometimes falls into the realm of embedded systems. Conversely, if they said "embedded systems" I would not be surprised if they did or did not talk about OS because sometimes embedded systems have that and sometimes they don't. That's because if the distinction really mattered, I would expect them to not be using such vague labels.
It's like blue and green. No one sits there splitting hairs to determine when exactly blue turns into green. You just use the terms with a general understanding, and with the expectation that if the distinction really mattered then the RGB, CYMK, or wavelength would be used instead of just the labels "blue" and "green".
That's a lot of words to say to simply say: Don't worry about what they really mean. The vague understanding you have is good enough and you will adapt to various usage in context. Trying to make it distinct is counterproductive and a waste of effort.