From Wikipedia/Embedded System:
An embedded system is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints.
In short, the term can apply to any sort of system which is not a general-purpose PC. This can range from simple microcontrollers to Networking hardware to modern Gaming Consoles.
If you consider "high level stuff" to mean "uses a high-level programming language" or even "is a large object-oriented project," then of course it's always possible that you can have very high-level software on an embedded system.
Generally, by specifying that your software is going to be on an "Embedded" system, you mean that in some way your software is going to be coupled to the embedded system--and maybe not be highly portable.
It's a very broad term, indeed. Some things I would not expect to hear called "Embedded" would be PC software, web applications, and Server Software in general. There is certainly no guarantee that Embedded software will exclude any sorts of high level programming or design, though.