My thought was that the issue with the Wireguard Client on the GL-MT300N-V2 was a simple “syntax error” (or similar)
So my suggestion is you configure the wireguard server (with the same settings as you have on the Pi, bar the IP address. Then grab the config from the wireguard server on the GL-MT300N-V2 , edit it to look like what you would expect for the Pi (probably just change the IP address) and use that (as the config in your GL-MT300N-V2 wireguard client)