Why are transactions not used for signalling?
Such a system could be easily gamed by people who simply spam the network with transactions and by miners who choose what transactions to include in their blocks. The penalty which they incur is still very small as compared to income of major economic players. 

It does not take into account the amount of coins and also does not consider the vote of people who are simply holding bitcoins.
Such a metric would only be misleading. 

There was a dicussion on this and a way for wallets to implement this on bitcoin-dev mailing list under the title
[bitcoin-dev] Transaction signalling through output address hashing 
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-February/013532.html