Usually it’s p2p, there’s a moment while initiating the connection where some server is needed for STUN/TURN (i.e. NAT traversal).
I assume some service may have a fallback for server broadcast instead of p2p, but none that I know of do such a thing.
Of course check the implementation you end up using if it truly is p2p. Also you can analyze the bandwidth of services on your server, which may be useful in your case.