Yes. It is a standard behavior.
System will always take the default layout for background job.
Foreground jobs are reading the layout which is assigned with the T-code (it will take the layout which is assigned for the t-code, you can find it in MB51 t-code), but background jobs can't read the t-code's layout, it will not read the t-code, it is reading only the program, that's because it takes the default layout which is set on the option Administration.