Should block height or MTP or a mixture of both be used in a soft fork activation mechanism? Should block height or MTP (median time past defined in BIP 113) or a mixture of both be used in an activation mechanism like BIP 8 or BIP 9 for defining the timings of the state transitions?
What are the advantages and disadvantages of both and how do they compare?
Should block height or MTP (median time past [...]) or a mixture of both be used in an activation mechanism like BIP 8 or BIP 9 for defining the timings of the state transitions?  What are the advantages and disadvantages of both and how do they compare?

The main advantage of MTP is that it usually roughly corresponds to wall time, so it's easy to communicate what a number means to humans.  For example, BIP141 says: &quot;the BIP9 starttime will be midnight 15 november 2016 UTC [...] and BIP9 timeout will be midnight 15 november 2017 UTC&quot;.  When both of those MTP values were reached on the actual network, they were within three hours of actual UTC.
The main disadvantage of MTP is that it can be manipulated by miners.  MTP is the median of the value recorded in the nTime field of the current block header and the previous 10 blocks.  Miners can set their nTime values to any value greater than the current MTP and less than two hours in the future.  This makes it possible for a majority of miners working for an extended amount of time to hold MTP to an old value (say 3 months ago) and then, in the space of a single block, move to a much later time (say 1 month ago).  This can allow them to jump over MTP-based mandatory signaling periods such as specified in BIP148.
The main advantage of block heights is that there's no way to skip over a height-based threshold, so they make sense for flag day activations, mandatory signaling requirements, and other transitions we want to ensure happen (such as from BIP9 LOCKED_IN to ACTIVE, which happens using a relative height-based threshold of 2,016 blocks).
The main disadvantage of block heights is that they're not particularly consistent.  In an average year, we expect there to be 52,596 blocks, but it would not be extraordinary for there to be 58,440 blocks---reducing an intended 12-month deployment to 10.8 months.
There's no harm in mixing MTP times and heights, and there can be significant advantages if you can take advantage of both strengths at the same time without losing too much to their weaknesses.