GDevelop doesn’t support multiplayer per-se, but it supports multiple networking methods (games communicating). You can build multiplayer games on top of these, but it can be complex to get right.
I would heavily discourage using or recommending this tutorial, as it shows anti-patterns instead of good ways to make multiplayer, which leads to bad performance, allowing easy cheating and desynchronization - a broken multiplayer game.
If by team formation you mean matchmaking, e.g. making a short game session with random players matched together, it is rather complex but possible with tools like Firebase Firestore or MQTT it should probably be possible.
If you mean a team like a clan or a guild with multiple players playing together over a longer period, this is definitely possible and easier than the first option. I’d recommend Firebase Firestore for this task.
Yes, for real-time gameplay I recommend P2P. The scores can be then stored in Firebase Firestore to keep them for later reference.