Everything in server considerations can be answered with one word: depends. For the most part, it is not really a good idea to put a mail server and web server on the same server or vm. Primarily because mail is something that is generally desired to be available at all times, and your web server likely will run various more buggy and vulnerable software or experience periods of exceptionally high traffic that may, from time to time, knock the server offline.
You can, but do you really want to? This will mean that all servers using the DNS server will be unavailable if the MiaB server is offline, for whatever reason. There are very easy to use and free DNS servers that properly follow the published standards, which includes things like redundancy and physically separate failovers using distinct connections to the Internet. Personally, I use Namecheap because their domain registration prices are as low as anyone and they offer free DNS plus free DDNS and they support DNSSEC. I’ve never had any real problems with them, though they still don’t offer CAA records (not yet a genuine issue).