No exactamente.
Estás planteando tres tablas, de las cuales una tiene FK aputando a cada una de las otras. Tu error es que piensas que es
una FK y no es así, son
dos FK, una apuntando a cada tabla.
¿Se entiende?
Además de eso, hay un error conceptual: Un producto tiene un ID, pero también una categoría. Pero diferentes productos pueden tener la misma categoría, lo que implica que la PK de esa tabla está mal definida. En la forma que la usas, puedes poner el mismo ID de producto con diferentes categorías, y no se notaría el falllo.
Lo que debes establecer es una tabla de categorías, y relacionarla con el prodcuto. Pero la PK del producto no debe contener la categoria.
Personalmente no entiendo lo que quieres hacer en la product_order, porque creo que tiene un diseño erroneo. Pero para decir más tendrías que explicar qué representa.