What does the USB non-removable strap option actually change?
The information about whether a port is "removable" or not serves mostly the purpose of hub/device (compound device) certification. When the USB compliance software runs, it will check for various port functionality (like ability to wake the device up upon device attach, ability of not to wake up when this function is disabled, etc, etc). This is done by instructing the person who conducts the test to plug-unplug a regular USB mouse to ports under the test, multiple times. If you have embedded devices permanently attached to some ports and do not declare them as "non-removable", the software will assume that these ports are "user accessible", and will wait for operator to plug-unplug the test mouse into it, which obviously will be impossible. So the test will time-out and fail, failing the entire certification. If you lie and declare your ports non-removable at the time of testing, the software will flag the discrepancy between test declarations and descriptors, and certification will fail as well. So it is good to declare user non-accessible ports as non-removable using the manufacturers configuration process.