is the sentence correct, or should i use 'Катить'?
It is difficult to say if it is correct or not, because this can be considered as author's creativity.
Authour mixed two different idioms in one.
Idiom #1. [Гнать]
Means [врать] = [to lie].
It is used with [гнать про что-то]
Чё ты гонишь? = [Чё ты врёшь?]
Just if you don't know: [Чё] = colloquial [Что]
And therefore
не гони про китайцев, падла. кто бы нам ... = [не ври про китайцев ...]
Idiom #2. [Катить бочку]
Means [разжигать конфликт] = [to escalate conflict].
It is used with [катить бочку на кого-то]
Чё ты на него бочку катишь? = [Чё его задираешь?] = [Чё ты разжигаешь с ним конфликт?]
And therefore
не кати бочку на китайцев, падла. кто бы нам ... = [не задирай китайцев ...]
Total author's creativiy
не гони бочку на китайцев, падла. кто бы нам ...
means [не гони про китайцев] = [не ври про китайцев] + [не кати бочку на китайцев] = [не задирай китайцев] - these both meanings at the same time, which results into [do not escalate conflict with Chinese by lying about them].
Anyway [не гони бочку на кого-то] is strongly colloquial form and official publications do avoid using such phrases.