Selects all elements with a specific data attribute and equalizes their heights
data attribute

It's a bit unconventional to use a data attribute to select the affected elements. A class would be the more conventional approach.

Use of template strings

You have two places where you unnecessarily use template strings with backticks (`).

Code

I like the code overall very much. Nice break down into functions. Nice use of modern JS features. 

Only one small thing: The return in equalizeHeights is unnecessary.

Timing

The problem with the need for the wait may be due to contents of the divs. If they contain images or use external fonts, then they may lead to resizing of the divs while these are loading. Some points to look out for:


Use the load event instead or additionally to DOMContentLoaded.
Make sure images have a size assigned to them, either in the HTML (height and width attributes) or the CSS.
There a ways to make sure that the text content isn't rendered until the fonts are loaded, but this is not really my area of expertise.


Possible bug/misfeature

There is one problem with the script: It never allows the divs to shrink if the content becomes shorter, for example due to a window resize.

I can think of two possible solutions:


Before checking the size of the divs, remove the min-heights and wait() to allow a re-render.


Or


add a second, inner div inside the equalize divs and use the inner divs client height to determine the largest div.