There is no one answer, because it depends on your services and what risks your tests are trying to mitigate.
I’ve got Integration Tests where one service needs to be stateful but dependencies are stateless mocks.
You might find it useful to draw a system diagram and define your system under test to visualise your systems and subsystems. Then you can make a choice on what might need to be stateful.
Also, having shared state that potentially impacts multiple tests makes running tests in parallel difficult. But, some more complicated tests may need to change a number of states in a single execution.
It’s worth splitting out what system state each test needs before it starts, as it’s prerequisite. If a prerequisite fails it should ideally be reported as “not run” instead of failed.
Also, if your framework is smart enough, you could use a desired state pattern to change the system state before the test runs.