Internal: use AtomicInteger instead of volatile int for the current action filter position

Closes #7021
[TEST] Improved filter chain tests to not rely on execution time
Rest: fixed filters execution order to be from lowest to highest rather than the other way around

Closes #7019