Something to keep in mind, if you need to send larger datasets pubsub is not going to be an efficient way of doing that as peers are likely to receive a message multiple times. Using other mechanisms of fetching the data rather than broadcasting would be more efficient, https://github.com/libp2p/specs/issues/118#issuecomment-499688869.
js-libp2p-mplex is not currently doing any enforcing of this at the moment. There is a newer version of mplex,
pull-mplex that does enforce the limit and which we will be migrating
js-libp2p-mplex to use this. The code is more efficient and has better performance of high throughput streams.
It’s not currently splitting larger messages into multiple chunks but it really should be. If you really need to send large messages over pubsub, this built in chunking behavior will probably be necessary to prevent messages from dropping.