How Maxscale deals with "Select for update transactions"
It would be routed to the master, because SELECT ... FOR UPDATE is only a part of a transaction, and according to the MaxScale 2.1 readwritesplit documentation, "all statements within an open transaction" are routed to the master. 

You should be able to verify this with a query like this, which should consistently give you the hostname of the master:

START TRANSACTION;
SELECT * FROM t1 WHERE id = 1 FOR UPDATE;
SELECT @@hostname;
COMMIT;