Hi Eduardo,
Thank you for your response and after some digging, I think I have tracked down the root cause of my issue. In case anybody else come across the same problem, I shall document my findings here.
First thing I tried was to remove my software from the equation and I did so by using the NFC reader manufacturer's own tool which supports command scripting. The specific tool I used was the "ACS Script Tool 5" running in a Windows 11 environment.
The specific command I used was: FF C2 00 01 04 95 02 3C 00 00. This corresponds to the Transparent Exchange command in transceive mode. And the NXP NTAG213 command being transceived is 3C 00, which corresponds to the READ_SIG custom command.
Below is a screenshot of the observed result after running the command:

To highlight the issue, I have underlined the signature payload bytes. The other bytes in the response indicates that the command was executed successfully (according to the following List of APDU Responses), e.g.:

The second thing I did was to remove the ACR1552U USB NFC reader from the equation. Unfortunately, I did not have access to any other NFC readers other than a smart phone. Nevertheless, it was really just to confirm that the NTAG213 NFC tag itself is behaving correctly. Indeed it does as shown in the next screenshot:

The above findings have been reported to ACS but I have not yet received any responses to confirm or deny whether there is an issue.
Lastly, the AR1552U NFC reader that I am using has the following configuration:

Hopefully this is useful to someone who is also going down a rabbit hole.
Cheers,
Chi
P.S. For completeness, here is the signature verification result (C# implementation):
