I think that the easiest way to do it in your case is to simply duplicate the layer in your dataframe (right click on layer, copy-paste). This will not duplicate your data, so it is not a problem for size. Just put the layer with the line fill symbol on top of the coloured symbol, and you are done.
EDIT : concerning your latest edit, you have the answer in Matt Wilkie's comment and here
This is the layer, without symbology:
![enter image description here](https://i.stack.imgur.com/faIDk.png)
And those are the variables of the table:
![enter image description here](https://i.stack.imgur.com/k9maK.png)
You have to add the expression in size, color, and shape definition, like this:
![enter image description here](https://i.stack.imgur.com/UnlcU.png)
First, you have to go to symbology, select a simple market, and select this:
![enter image description here](https://i.stack.imgur.com/eclKg.png)
Second, you have to choose, edit:
![enter image description here](https://i.stack.imgur.com/yjoCa.png)
This will show you the expression builder:
![enter image description here](https://i.stack.imgur.com/ncG7j.png)
And in the expression builder you have to do this:
For the size is you have a numeric value, you can add, multiply or divide, to get small or high numbers, like this:
distance + 2
For the color, I multiply for 30 in order not to exceed 255, I used the next expresion, :
color_hsv( "vertex_index"*30, 92, 82)
And for the shape, is necessary to see the name of the shape that you want to show, for example:
if (angle < 90,'triangle', 'circle')
Finally, you have this symbology:
![enter image description here](https://i.stack.imgur.com/ZarXj.png)
Best Answer
You can sort of do this by setting the width in the "Symbol" dialogue - at least I think this can be used to do what you want.
Set the classification to color and classify your data. Then click on change symbol and select the line type (default Simple Line). From this dialogue you can set a pen width based on an attribute. It won't by default allow you to define an expression but if you use the 'width assistant' and then go back into the menu it will let you use the edit and this brings up the standard expression generator.