LinuxCNC conversion gone horribly wrong?

So…I’ve got a problem - but first, a bit of a backstory.

Back in March/April of this year, I finished my machine (MPCNC Burly), roughly 30cm by 30cm by 7cm. I was using a CNC-Shield V3 on an Arduino Uno Clone. The machine ran, held tolerances within 0,1mm - however I was never quite satisfied with the control side of the machine, especially the user interface. I just never found the program that worked for me.
So, after seeing the thread by dkj4linux on his inexpensive LinuxCNC interface, I embarked on the journey of getting myself a LinuxCNC setup.
I used the same method as in the thread, a cheap parallel port breakout board, coupled with the CNC-Shield as a sort of “holder” for the stepper drivers (A4988).
I got the system up and running, however, there is a problem somewhere and I can’t seem to find it:

The machine is cutting oversized (50mm square - 51x53mm in reality)

Could be a Steps/mm thing? - But it’s cutting oversized differently on the X and Y axis (about 1mm difference on a 50mm square)
Am I losing steps somewhere? - Then why is it cutting over- not undersized (measuring the outside of a square)
Could be something weird in the G-Code? - Handwritten, as simple as possible
Could be something with the tool diameter and the cutter compensation? - Tried both cutting with G41 as well as just G40, still oversized.

As I didn’t touch the mechanics of the machine, I believe the problem is of electrical nature - either in my wiring/components or somewhere in the LinuxCNC settings.
I’d be grateful for any ideas.

Can you post your ini file and gcode? What’s your microstep settings? Can you put a micrometer on the kerf and get us a reading?