Sync'ed my fork with your repository, and surprisingly everything is working correctly. Just the test project was missing which I had forgotten to push.
Tested high-dpi on Windows (ok), Linux gtk2 (ok), gtk3 (ok), qt5 (icons pixelated), qt6 (icons pixelated), cocoa (I only have a VM with macOS Monterey, don't know how to activate high-dpi).
I think I read somewhere that qt5/6 do scaling by means of the CanvasScalingFactor - need to investigate.
Sorry for the "destructive" changes that I made to your code. I switched from lrs to res resources, just because I am accustomed to it and did not want to waste the time how to add my images to an lrs. Along this way, your component icon got lost - it certainly can be extracted from the lrs, or you have the original, and it certainly can be added to the res in the same way as the other png files are added (see the batch file in the images folder; you'll have to rewrite it for mac, and it needs the tool LazRes which you must compile in the (lazarus)/tools folder). And you'll need the component icon in the two larger sizes, too.
I also selected different built-in icons, just because I needed them in three sizes. Of course you can go back to your icons but then you'll have to draw the other sizes yourself. If you prefer to stick with the new icons: I am not very much satisfied with them, except for the < und > icons they look too heavy, the + and x should be redrawn with smaller line width (thats easy: their originals are svg files).
On my mac VM, the recoloring for dark mode is working - see screenshot.
Another thing is missing so far: you had code in CalcLayout and somewhere else which fixed the case when the images are higher than the TabSize. I had to remove this because in high-dpi mode it triggered an endless resizing loop. I think such code belongs to the setters of the TabSize and Images properties.