Hey @stefanor, I have been using dart/flutter with Moralis as well and while I do not have a specific solution for your case I may have a similar experience that may help you.
First for your case trying to authenticate your users with Metamask you probably use pub.dev/packages/walletconnect_dart dart library that I think should cover the connectivity between your app and the wallet, from there you can continue using the API Moralis provide or continue reading for the other solution.
The other way (Which I use and have no significant issues so far) is to set the user wallet in your app using the great package pub.dev/packages/web3dart and make sure to secure it well enough and use the dart library for ParsePlatform .org (The SDK Moralis is originally based on) which work with Moralis very well (I only tried Objects and functions though).
One issue though is using Moralis authentication, that part is actually added in the Moralis SDK not provided by ParsePlatform, but thankfully can be implemented from your side in simple steps since it is added as a Parse custom authentication provider (Can be reverse-engineered from the Moralis-JS-SDK).
You can check this gist out to understand how to implement the authentication in your DApp.