Check the driver properties/settings on the machine where the Print Agent is running, or on the server where the printer is printing from.
Essentially, when you preview then print it is using local PC printer driver/settings. When printing in the background it uses the drivers on the server that is sending the job to the printer, typically one of those noted above.
Nick
Thanks @NickPorter , heres what I tried
- Connect a Zebra Printer (Zebra ZD421) via USB to my laptop. Driver got installed, printing preferences including paper size set (75mm X 50mm).
- Added new Crystal layout for IP Barcode, size 75mm X 50mm
- Order Report, Preview and direct print (can see the entry on the printer queue for a few seconds), perfect output, correct size and all.
- Install a local PA and map above printer to a logical printer
- Order Report, print to the mapped logical printer, PA picks up Remote Working, (can see an entry on the printer queue for few seconds), output too small and misaligned.
I assumed my direct print and PA both now uses same driver settings on my laptop but get 2 different outputs 
I tried below Print Agent Printing Parameters, not sure what others are to play around with.
PageAutoSize: yes and no – no change
Scale: None and Shrink – no change
Scale: FitToMargins – huge printout
In the past we just leave them as it is, and the printout comes fine.
Immediate thoughts are what OS user the PA is running as (could be a user-based driver or preference difference), and how does the logical to physical mapping entry look for this printer.
That is a good one, not sure how to check, PA running under my logon user (with admin access) so same I guess?
bold bit below is my local printer
<?xml version="1.0" encoding="utf-8"?>
<REMOTE_PRINTING_NODE>
<ID></ID>
<POLL_TIME>60</POLL_TIME>
<USER>IFSPRINT</USER>
<PASSWORD></PASSWORD>
<URL></URL>
<REST_PORT>8200</REST_PORT>
<PRINT_AGENT>ON</PRINT_AGENT>
<SOCKET_SPOOLER>OFF</SOCKET_SPOOLER>
<PRINTING_PARAMETERS_FILE>ifs-printing.properties</PRINTING_PARAMETERS_FILE>
<PRINTER_MAPPINGS>
<PRINTER_MAPPING>
<LOGICAL>HQ_STORES_DESK2</LOGICAL>
<PHYSICAL>\\print-hq2\HQ-Stores-Desk2</PHYSICAL>
</PRINTER_MAPPING>
<PRINTER_MAPPING>
<LOGICAL>RAJITH5</LOGICAL>
<PHYSICAL>ZDesigner ZD421-203dpi ZPL</PHYSICAL>
</PRINTER_MAPPING>
</PRINTER_MAPPINGS>
<MONITOR_UPDATE_RATE>Medium</MONITOR_UPDATE_RATE>
<REMOTE_MONITOR>OFF</REMOTE_MONITOR>
<REMOTE_HOST></REMOTE_HOST>
<REMOTE_PORT></REMOTE_PORT>
<MAX_THREADS>4</MAX_THREADS>
</REMOTE_PRINTING_NODE>
We reinstalled drivers and set printing defaults (defaults for all users) rather than printing preferences (user specific) as @NickPorter you correctly identified. Many thanks. All working fine now.