The varios freeRTOS ports provide their own tick interrupts in order to have the scheduler running.
This approach reduces the flexibility of embedded programmers in assigning timer resources to application specific code.
It should be helpful if freeRTOS would contain a #define which disables the internal tick interrupt setup, and rather allows the programmer to use his/her own setup. The programmer is responsible to call the scheduler function within the tick interrupt.
I note your point. This is something that has been considered in the past.
The RTOS tick is often configured in a particular way, also the order within the function is important. Allowing users to create their own could retract from usability, although they always have the choice to leave it as it is.
A couple of other options
+ Define a tick hook. Call your application code from the tick interrupt.
+ All the source code is provided and the tick interrupt configuration is contained within a single function. You are free to change this to use any timing resource at your disposal.