Your upstream LB group has to span the downstreams you are load balancing otherwise it won't work.
I.e. when a modem comes up on c3/0 it is given all of the upstreams descriptors currently available on that downstream which would all be from LB10 in your example
If you change yours to the design in the document then it should work.
According to the Docs yes it is possible Manual
Though it is much easier to do with the 12.2 code train and the docsis style load-balancing
The doc in there says , A node across all 4 cards.
------ U0 U1 U2 U3 Downstream
3/0 LB10 LB11 LB12 LB13 LB1
4/0 LB10 LB11 LB12 LB13 LB1
5/0 LB10 LB11 LB12 LB13 LB1
6/0 LB10 LB11 LB12 LB13 LB1
My design is
------ U0 U1 U2 U3 Downstream
3/0 LB10 LB10 LB10 LB10 LB1
3/1 LB11 LB11 LB11 LB11 LB1
4/0 LB12 LB12 LB12 LB12 LB1
4/1 LB13 LB13 LB13 LB13 LB1
In this, seems like modems wouldn't move to a different card, or even same card different port on the downstream-only. Is it normal?
The way yours is designed no you can't.
Your upstream LB group has to span the downstreams you are load balancing otherwise it won't work.
I.e. when a modem comes up on c3/0 it is given all of the upstreams descriptors currently available on that downstream which would all be from LB10 in your example
If you change yours to the design in the document then it should work.