An ESC and thruster combination will run as long as it sees a valid signal instructing it to do so. There’s not much to mess up, short of not providing a valid signal between 1100-1900 μs.
The likely explanation for running in one direction and not the other is not receiving a valid reverse signal. When checking the signal , you should be doing so right at the ESC signal input, as long signal wire runs can cause odd issues. RC style PWM signals are designed to travel a few feet at most, any longer than that and your mileage may vary depending on voltage drop and other factors.
Hypothetically, the ESCs may have had the wrong firmware loaded at the factory and only have a unidirectional firmware loaded. This is incredibly unlikely however, and highly doubt is the case especially if all your ESCs are behaving the same way. We have never seen the wrong firmware loaded in many thousands of ESCs. In any case, if you would like to check the firmware, you can do so using BlHeli Suite and an Arduino. Further instructions and the settings file are located here.
You shouldn’t need to monitor the outputs to confirm the ESC is working right. It will either work because it is receiving a valid signal, or not at all because it is not receiving a valid signal, unless there is hardware issue with the ESC. Since it is running fine in one direction, this cannot be the case.
The PWM signal you are sending to the ESC to command it is just a communications method like any other, its arbitrarily associated with a driving duty cycle just by software operation.
In any case, the outputs will look like this at full throttle:
And with some PWM voltage modulation at lower throttle:
This is standard BLDC six step square commutation, and was taken from a T200 running at load underwater with a 12 V input.