Understanding of hardware / environment is a useful skill for any developer - not just a full stack developer - the only difference is the full stack developer needs to know about the intricacies of all areas rather than just the parts which affect their part of the stack (since they're dealing with all parts of the stack).
Understanding of the business is again outside of the definition of a full stack developer, but is a useful skill for any developer to have - if you can understand the problem you aren't so reliant on the spec/analyst to dictate requirements to you meaning you can make assumptions about how your code may change in the future and consider edge cases which are important at a technical level but analysts wouldn't have spotted from a functional level.
With both of the above points these are definitions of good developers - but don't sit in the core definition of full stack developer - the same as a good musician should be good at languages since they'll likely tour; but not speaking French won't affect their piano performance.