I suggest to use a virtual layer.
If the SQL in virtual layers would give the same result than SQL that is fired directly against databases then the following should work
select a.field_1,a.field_2,a.field_3 from
(select field_1,field_2,field_3,"ORDER" ORDER BY "ORDER") as a;
The result seems to work correctly in the print composer with QGIS 3.8.3. I ...
You could do this in a different way by sorting the layer before using the composer. So:
Sort your layer with MMQGIS (plugin) by "ORDER" --> ascending.
Show this new table in composer and remove the field.
Here so screen shots:
Here is the data:
Check the differences:
Plot the sorted table without that field:
When you export a layout as a PDF, QGIS can either export all the content as a raster (i.e. an image embedded in the PDF, so when you zoom in or save in low quality details and edges look pixelated), or some/all elements - typically text - as vectors (so that you can zoom in as much as needed without seeing quality degradation).
It looks as if your PDF ...