You are quite right ,
In Primo the image was placed at the top left of the screen, but effectively from nextgen the image was centered in the middle of the screen

to know the size of your screen and to know the dpi, it is therefore necessary to carry out a start log of nextgen ,9.19.2.543580 is not an android version but a WINCE from which I found the existing dimensions of the images loading.

in the following log we have the real dimensions 320_240, the real dpi 96, the dpi approaching 120 at best, and the folder used "Theme path: 'ui_nextgen\ res\ common\ ldpi'"

Spoiler: excerpt on a nextgen wince 320*240
[10:02:00.000 gui notice - ] GetDisplayInfo px: 320 py: 240 dpi: 96 d: 3.5
[10:02:00.000 gui notice - ] GUI_WINMAIN_CE::DetectDisplayCapabilities() OS version: 5.0
[10:02:00.000 gui notice - ] GUI_WINMAIN_COMMON::InitConfig(): SysConfig modified display size (320,240), highres: 0
[10:02:01.000 main notice - ] GPSAPP::CreateSurface() enter.
[10:02:01.000 gui notice - ] GUI_WINMAIN_COMMON::GetDisplayCapabilities() multitouch: 0 dpi: 120 d: 0.0
[10:02:01.000 main notice - ] GUI_IMP_BASE::SetDpi. dpi=120, dpiFromConfig=0
[10:02:01.000 main notice - ] GUI_IMP_BASE::SetDpi. dpi set to: 120
[10:02:01.000 main notice - ] Preferred orientation: 0 (0 - auto, 1 - portrait, 2 - rlandscape, 3 - upsidedown, 4 - landscape)
[10:02:02.000 theme_mgr notice - ] Selected layout path: ui_nextgen\layout\min_diagonal
[10:02:02.000 theme_mgr notice - ] Theme path:'ui_nextgen\res\common\ldpi'
[10:02:02.000 theme_mgr notice - ] Theme common path:'ui_nextgen\common'
[10:02:02.000 theme_mgr notice - ] Addons path:'ui_nextgen\addons'
[10:02:03.000 main notice - ] CreateSurface: Available ISURFACE implementations -> 'SURFACE_GDI,SURFACE_DIRECT,SURFACE_GLES_2_0_WIN32'
[10:02:03.000 main notice - ] SURFACE_DIRECT initializing, checking for available displays...
[10:02:03.000 main notice - ] DetectExtEsc: GETRAWFRAMEBUFFER...
[10:02:03.000 main notice - ] DetectExtEsc: GETGXINFO...
[10:02:03.000 main notice - ] DetectExtEsc: ... success.
[10:02:03.000 main notice - ] VerifyDetectScreen...
[10:02:03.000 main notice - ] VerifyDetectScreen succeed.
[10:02:03.000 main notice - ] DISPLAY_GX size (320,240) bpp 16 format 160 buf 0x46800000 pitch (2,640) det 1
[10:02:03.000 main notice - ] CreateSurface: Using driver: SURFACE_DIRECT
[10:02:03.000 main notice - ] SetupSizes: DisplayConfig.nSizeX = 320, DisplayConfig.nSizeY = 240
[10:02:03.000 main notice - ] CreateSurface: bIsPortraitHardware = 0
[10:02:03.000 main notice - ] CreateSurface: bIsPortraitSoftware = 0
[10:02:03.000 main notice - ] SetupSizes: nRotationAngle = 0, mGUISizeXY: [320,240], mSurfaceSizeXY: [320,240], bDoubleMode = 0
[10:02:03.000 main notice - ] GUI_IMP_BASE::CreateDefaultDisplay
[10:02:03.000 main notice - ] Assign new active display 0
[10:02:03.000 main notice - ] SURFACE_DIRECT: Total displays: 1, active: DISPLAY_GX size (320,240) bpp 16 format 160 buf 0x46800000 pitch (2,640) det 1
[10:02:03.000 main notice - ] MainWindowProc(): Msg=71, wParam=0, lParam=252902324
[10:02:03.000 main notice - ] MainWindowProc(): Msg=3, wParam=0, lParam=0
[10:02:03.000 main notice - ] MainWindowProc(): Msg=5, wParam=0, lParam=15728960
[10:02:03.000 main notice - ] Window RESTORED
[10:02:03.000 main notice - ] GPSAPP::CreateSurface() exit.