Is it enough to connect MXs with L2 link via switch? In other words, I am planning to do so with the trunk which will be arriving from the downstream switch (single switch or stack).
Yes, a connection per switch is enough. The active MX will send VRRP heartbeats to the spare MX.
Do I need to create some "heartbeat" VLAN between them? As per my understanding, MXs will exchange VRRP messages for all created VLANs so if MX is my L3 device, then, perhaps, I don't need heartbeat VLAN.
No, the recommended design is no direct, explicit connection for the heartbeat. And yes, the MX will send VRRP heartbeats for every VLAN.
What will happen if one LAN SVI L3 interface (default gateway) goes down on active MX? I presume the standby MX will not take over just for this one L3 interface. For standby MX to takeover, the primary MX needs to be down completely, right?
I have never seen a single VLAN-Interface going down on a MX.
If MX is connected with two links to the same switch, does this mean that the switch will receive its own BPDUs since MX will forward BPDUs?
Yes.
I was reading this document. Page 5, Section 4, it says:
...
Why is this relevent if MXs are connected via one switch?
This is not relevant when connecting the MX to a single switch. But this design is not recommended.
I recommend to read this article from Karsten: https://cyber-fi.net/index.php/2022/03/13/how-to-connect-the-meraki-mx-to-ms-switches/