Do long-running and locking queries on subscriber databases cause performance issues on the publisher dbs? One of our servers has a subscriber database. I've not used replication before and cannot find information on how the mechanism works.
Does the publisher have to wait on the replication completing before transactions are committed or does it make use of a queue or the transaction log before applying changes to the subscriber?
The subscriber is used as the back-end for a custom report builder (amongst other uses) which cannot make good use of indexes so tables are frequently locked for several minutes. I am concerned for any effects this might have on our publisher, which is on our live production server.
Both publisher and subscriber are in Full Recovery.
Long running and locking queries on subscriber databases wouldn't typically cause performance issues on the publisher. The distributer can be run separately if you are worried about them affecting the performance of your SQL server.

The Log Reader Agent will take the changes from the Publisher and store them in the distribution database. The Distribution Agent will attempt to apply these to the Subscriber. If the subscriber is busy or tables are locked it will wait for them to be available or timeout and keep retrying on the schedule defined during setup. 

You can view how many unreplicated commands exist and how far behind your subscriber is from the Publisher by using the Replication Monitor or querying the sp_browsereplcmds procedure.

For more info on the agents, and the settings you can change, take a look at this Microsoft docs page.